目录
前言
站点搭建分析
1. 搭建习惯:目录型站点
2. 搭建习惯:端口类站点
3. 搭建习惯:子域名站点
4. 搭建习惯:类似域名站点
5. 搭建习惯:旁注,C段站点
6. 搭建习惯:搭建软件特征站点
WAF防护分析
1. 什么是WAF应用
2. 如何快速识别WAF
工具一:wafw00f
方式二:网站请求信息
方式三:nmap指纹检测
工具四:identYwaf
3. 识别WAF对于安全测试的意义
在安全测试中,信息收集是非常重要的一个环节,此环节的信息将影响到后续的成功几率,掌握信息的多少将决定发现漏洞机会大小,换言之决定着是否能完成目标的测试任务。也可以很直接地说:渗透测试的思路就是从信息收集这里开始,你与大牛的差距也是从这里开始的!
信息收集的目的:把目标可以测试的点全部找到,选取最脆弱的部分加以攻破。本节课重点:信息收集→Web→无CDN,重点:站点搭建。
举例:访问 xxx.edu.cn,是一套CMS;访问 xxx.edu.cn/bbs/ 是另一套CMS。可以推断两个网站在(同一服务器)同一根目录下,只不过一个默认在www目录一个在bbs目录。
为安全测试提供多个目标。可以通过目录扫描工具获得。
访问 xxx.com 和 xxx.com:8080 出现不一样的页面。
有的站点没有使用默认80而是其他的端口,可以使用Shodan等工具收集端口信息。
访问 xxx.net 和 bbs.xxx.net 出现不一样的页面,属于两套不同的CMS。但子域名型和目录型、端口型的区别在于子域名站点可能和主站不在同一服务器上。通过别的手段验证:
此时如果对主站开启安全测试,可以从子域名入手,因为在同一服务器。
有时子域名和主站在同一网段,此时从内网安全的角度出发开展安全测试。内网横向渗透
某些网站(尤其灰产/为法网站)会经常换域名。以某非法网站为例:
有些公司由于业务发展或其他原因将原来的域名弃用,而选择其他域名,但是其旧域名仍能访问,有的是二级域名的更换而有的是顶级域名的更换。可以通过旧域名找到一些突破口。
旁注:同一个服务器上面存在多个站点。当目标网站由于各种原因无法开展安全测试,就通过测试B网站进入服务器,然后再测试目标网站实现目的。
192.168.1.100 www.a.com www.b.com ......
C段:C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段:192.168.0.1,A段192,B段168,C段0,D段1,C段嗅探的意思是拿下目标网站服务器同C段中的其中一台服务器,也就是说是D段为1-254(0和255一般保留)中的一台服务器,然后利用工具嗅探拿下该服务器。通过扫描发现与目标网站处于同一个网段,最终拿下服务器、然后通过内网渗透的方式拿下渗透服务器。
参考:同IP网站查询,C段查询,IP反查域名,在线C段,旁站工具 - WebScan
通过旁注查询,如果发现同服务器上有多个站点,则可以另外站点对主目标进行突破。
有的网站借助于第三方的集成搭建工具,如:PHPstudy、宝塔、wmap等。这样以集成环境搭建的危害就是泄露了详细的版本信息。
常见的搭建软件都有默认账密,如PHPstudy搭建的网站在默认站点安装了phpmyadmin,没有做防护的网站可以直接通过用户名root密码root登录进入管理页面。
浏览器检查网页网络数据包,查看Server字段,如果信息很全(包括中间件版本等)通常是使用搭建软件一键搭建的。自己手动搭建的信息一般不会这么全。
复制Server字段的具体信息去Shodan搜索,获取使用相似搭建平台的网站,进行测试phpmyadmin默认账密漏洞:
Web应用防护系统(也称为:网站应用级入侵防御系统,Web Application Firewall)利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
没有百分百的工具,也没有百分百的技巧。
工具一:wafw00f
可以识别大多数市面知名的WAF。但存在判断不准误报或识别不出的情况。GitHub - EnableSecurity/wafw00f: WAFW00F allows one to identify and fingerprint Web Application Firewall (WAF) products protecting a website.
# unzip wafw00f-master.zip # python3.8 setup.py install # ls -ld wafw00f drwxr-xr-x 6 root root 4096 6月 10 17:22 wafw00f # cd wafw00f #python main.py https://www.hlszsb.com/ [*] Checking https://www.hlszsb.com/ [+] Generic Detection results: [-] No WAF detected by the generic detection [~] Number of requests: 7
方式二:网站请求信息
某些网站返回的数据包X-Powered-By字段会显示WAF信息。
方式三:nmap指纹检测
nmap --script==http-waf-fingerprint nmap --script=http-waf-detec
工具四:identYwaf
GitHub - stamparm/identYwaf: Blind WAF identification tool
(base) heather@MacBook-Air ~ % cd /Users/heather/Downloads/identYwaf-master (base) heather@MacBook-Air identYwaf-master % python identYwaf.py https://www.nwpu.edu.cn/ __ __ ____ ___ ___ ____ ______ | T T __ __ ____ _____ l j| \ / _]| \ | T| | || T__T T / T| __| | T | \ / [_ | _ Yl_j l_j| ~ || | | |Y o || l_ | | | D YY _]| | | | | |___ || | | || || _| j l | || [_ | | | | | | ! \ / | | || ] |____jl_____jl_____jl__j__j l__j l____/ \_/\_/ l__j__jl__j (1.0.134) [o] initializing handlers... [i] checking hostname 'www.nwpu.edu.cn'... [i] running basic heuristic test... [i] rejected summary: 403 ('...Your request has been blocked due to suspected hacking') [+] non-blind match: 'Jiasule' [x] host 'www.nwpu.edu.cn' seems to be misconfigured or rejecting benign requests
比wafw00f稳定。
若目标网站使用了WAF,而渗透者在没有识别的状态下直接使用工具进行扫描,有可能会导致WAF将IP地址拉入黑名单而不能访问。识别WAF在于有针对性地绕过。不同WAF存在不同的绕过思路。