建站四大件:操作系统、数据库、中间件、脚本语言
1.操作系统选择
Windows2003 2008
Linux red hat FreeBSD Ubuntu等
如何区分网站服务器是Linux还是windows:windows不区分大小写,Linux区分
TTL值介乎于110-128之间的,基本我们可以判断为是Windows系列的操作系统
TTL值介乎于50-64之间的,基本我们可以判断为是Linux/CentOS/FreeBSD等操作系统。
Linux系统的TTL值计算方法是 (64-所过路由数量)=最终TTL
Windows系统的TTL值计算方法是 (128-所过路由数量)=最终TTL
2.脚本语言
Asp php aspx jsp cgi war py pl等
域名后index后加php ,asp,aspx,py,jsp等常见网页编程语言的后缀,哪个能打开就是哪个了
如:
但是将asp改为jsp就不可以:
还可以查看文件
3.网站数据库
Access mysql mssql oracle Sybase db2 postsql
从端口判断:
mysql:3306
mssql:1433
oracle:1521
如果端口被更改了可以利用nmap来探测
还可以根据搭建组合来判断:php+mysql 、asp+access、mssql、aspx+mssql、jsp+mssql、oracle
小型站点一般是access 大型站点一般是oracle
4.支持架设环境
IIS apache tomcat nginx
监听网络数据包查看;看404报错,报错没有处理的话中间件的名字会出来;火狐浏览器的wapplyazer插件有时也可以判断
如:
关于静态和动态页面:
动态页面的含意就是,网页会根据访问者的请求,从服务器数据库里筛选访问者想要的内容显示到访问者的浏览器上,不同的人访问同一页面,会看到不同的内容,这个网页本身里并没有数据,只有一些代码,访问者看到的,都是服务器里调出来的。
而静态页面,是事先把文字图片都放到页面里了,不需要从数据库里调,访问者访问一个页面,会直接从服务器把这个页面读出来显示到访问者的浏览器里,不需要数据库的支持。
伪静态页面,其目的是为了更好的被搜索引擎收录而通过一定的规则,把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面。
CMS识别:
在线识别;wapplyzer插件;查看;站点最后的版权信息;whatweb
如中:
信息搜集:
- 域名注册人信息收集——可以进行社工
- 子域名爆破——主站没有漏洞时:子域名和主域名有可能是同一个服务器也可能是同一个网段
工具:dnsenum、layer子域名挖掘机、subDomainBrute、wydomain、站长之家、bugscaner在线查询等;
搜索引擎:谷歌语法
- “”:完全匹配搜索,查询的字符不分开
- +:加号指定一个一定存在的关键词
- —:减号指定一个一定不存在的关键词
- | :或
- ADN : 两个都得满足
- site:针对指定的域名来搜索;可以针对目标做一个准确的信息收集(目录、文件);得到子域名
- inurl:一般用于批量搜索较多,如批量找后台,批量找注入点,批量找指定目标站点等
常用的后台路径:admin/;system/;manage/等等
注入点:php?id=x
intitle:关于标题;批量搜索后台、批量寻找弱点网站(需要自己构造标题)
Intitle:搜索标题为指定内容的结果
搜索思路多样化,可以使用不同的关键词并且达到一样的效果
如:intitle:后台
Intitle:管理中心
Intitle:管理员登陆
Intitle:欢迎来到管理中心
可以组合使用
cache缓存搜索:类似于百度的快照功能;
判断是否存在CDN:站长之家—超级ping
Nslookup—若使用CDN则有多个IP地址
CDN在线检测平台
Cms判断:在线识别,插件,whatweb,确认后看有没有爆出的洞,源码审计
绕过CDN获得真实IP:
- 查询历史DNS记录(在没使用CDN之前的IP)——站长之家
- 查询子域名(子域名可能不会做CDN)
- 利用网站漏洞,让网站主动连接我们 如反弹shell ssrf
- 服务器合法服务连接我们——如rss邮件订阅,很多网站自带sendmail。会发邮件给我们,此时再查看邮件源码中可能会包含服务器真实IP
- 使用国外主机解析域名
- 目标敏感文件泄露
- 从CDN入手,拿到目标网站管理员的CDN账户
- 全网扫描:zmap,对小众网站有效
分目录站点与分端口站点的研究:
分目录站点:后缀有不同的目录;网站可能有多个cms或者框架,对渗透而言,相当于渗透目标是多个(一个cms一个思路)
/bbs
/old
分端口:后缀是不同的端口
:8080
:8888
分域名站点和手机站点:
分域名:可以理解为子域名,分域名可能和主站同服务器或同网段,对于分域名渗透可以直接和主站联系——字典爆破(子域名爆破)、搜索引擎(site:)
新闻链接的作用:
- 看发布人,一般就是后台账户
- 看是否存在sql注入
后台:得到后台路径后可以尝试
- 弱口令
- POST注入
- 看后台路径的命名名称是否和域名有关,是否和管理员名字有关,尝试社工管理员账户
- 爆破
针对管理员的信息收集:
- 查域名对应的注册邮箱;如果是个人邮箱(如QQ邮箱,可以查社工库,历史密码)
- 姓名:查注册邮箱,有时会显示;从网站的联系方式来看
作用:制作社工字典,管理员信息可以加入到字典内;找后台,后台路径可以和管理员名称等信息对应
查看开放的端口:nmap masscan shodan
常见的端口与服务:
服务 | 端口号 |
---|---|
HTTP | 80 |
HTTPS | 443 |
Telnet | 23 |
FTP | 21 |
SSH(安全登录)、SCP(文件传输)、端口重定向 | 22 |
SMTP | 25 |
POP3 | 110 |
WebLogic | 7001 |
TOMCAT | 8080 |
WIN2003远程登录 | 3389 |
Oracle数据库 | 1521 |
MS SQL* SEVER数据库sever | 1433 |
MySQL 数据库sever | 3306 |
旁注查询:同服务器下不同的站点,寻找查询接口
/
总结:
Web:先判断是否存在CDN;存在CDN,CDN绕过,查找真实IP(nslookup 、超级ping);无CDN,收集子域名(layer subdomain)(子域名和主站要么在同服务器,要么在同网段,和主站有关联),服务端口(nmap、masscan)(开放的端口越多,服务开发的越多,漏洞也就越多),IP地址,端口指纹,敏感目录(如备份文件),C段地址(第三方接口,在线查询),CMS识别,四大件(操作系统 数据库 中间件 脚本类型)域名信息(站长信息 备案信息 DNS信息) 结合其他应用(APP 第三方的应用模板 插件)