web渗透测试中WAF绕过讲解(一)

---恢复内容开始---

0x01 前言

        许多Hacker总是生存在与WAF的不断抗争之中的,厂商不断过滤,Hacker不断的骚操作绕过。WAF与Hacker总是在斗智斗勇,经过长时间的发展,近年越来越多的Hacker投入到与WAF进行对抗,相对应的绕过方法也被大量的暴露出来,笔者今日就先进行个小小的科普先来说说WAF是什么。

0x02 什么是WAF?

        简单的来说它是一个Web应用程序防火墙他的功能是执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

0x03 国内常见的WAF

        360网站卫士
        百度云加速
        D盾
        阿里云云盾
        安全宝
        安全狗
        护卫神
        云锁

0x04 针对CDN类型的WAF绕过

        首先我们要知道 CDN 是什么,这里直接百度复制。
        CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
        目前CDN服务的功能是越来越多,安全性也越加强悍,用户的每个请求都会被发送到指定的CDN节点上,最后转发给真实站点。这个过程提供了缓存、加速、防御的特点。

        方法一: #二级域名法#
        目标站点一般不会把所有的二级域名放cdn上,比如试验性质地二级域名。
Google site一下目标的域名,看有没有二级域名出现,挨个排查,确定了没使用cdn的二级域名后,本地将目标域名绑定到同ip,能访问就说明目标站与此二级域名在同一个服务器上。不在同一服务器也可能在同C段,扫描C段所有开80端口的ip,挨个试。如果google搜不到也不代表没有,我们拿常见的二级域名构造一个字典,猜出它的二级域名。比如mail、cache、img。
例子:Google网站下    输入 site:baidu.com  搜索出所有带baidu.com的域名
也可以使用 Layer子域名挖掘机 工具来跑二级域名(工具会放在百度云中供下载)
下载地址:http://pan.baidu.com/s/1pKGnPZd

        方法二:#多地点ping法#
        ping 命令这样写 ping xxxx.com 而不是 ping www. xxxx .com,ping xxxx.com一般都会是真实IP,有一些CDN厂商基本只要求把 www. xxxx .com cname到cdn主服务器上去。www.xxx.com 和 xxx.com 是两条独立的解析记录。
        #在线的利用工具#
                国内ping的工具:http://ping.chinaz.com/
                国外ping的工具:https://asm.ca.com/zh_cn/ping.php (推荐用这个)
                国外ping的工具:https://asm.ca.com/en/ping.php (第二个挂了用这个,不然就搜索 just-ping)

        方法三:#nslookup法#
        大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP。其实这个方法根本不用上国外vpn,因为你上国外vpn的ping本质,就是使用国外dns(那台vpn服务器使用的dns)查询域名而已,所以只需要:nslookup http://xxx.com 国外dns,就行了,例如:nslookup http://xxx.com 8.8.8.8,提示:你要找冷门国外DNS才行,像谷歌的DNS,国内用的人越来越多了,很多CDN提供商都把谷歌DNS作为国内市场之一,所以,你查到的结果会和国内差不了多少
        如何用本地计算机查询DNS记录?
        打开命令提示符窗口(开始--运行---输入CMD--回车)
        nslookup的语法为:nslookup –qt=类型 目标域名(注意qt必须小写)
        类型主要有:
        A:地址记录(Ipv4)
        AAAA:地址记录(Ipv6)
        CNAME:别名记录
        HINFO:硬件配置记录,包括CPU、操作系统信息
        ISDN:域名对应的
        ISDN:号码
        MB:存放指定邮箱的服务器
        MG:邮件组记录
        MINFO:邮件组和邮箱的信息记录
        MR:改名的邮箱记录
        MX:邮件服务器记录
        NS:名字服务器记录
        PTR:反向记录
        RP:负责人记录
        SRV TCP:服务器信息记录
        TXT:域名对应的文本信息
        比如你要查询baidu.com的A记录,那在命令符提示窗口输入:nslookup -qt=a baidu.com 则可以查到相应的记录
        如何使用指定DNS服务器查询?
        语法为: nslookup -qt=类型 目标域名 指定的DNS服务器IP或域名
        例子:nslookup -qt=A tool.chinaz.com 8.8.8.8
        #在线的利用工具#
                站长工具:http://tool.chinaz.com/nslookup/

        方法四:#查询域名历史DNS解析#
        指的是查找域名历史解析记录,因为域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址,有个专门的网站提供域名解析历史记录查询
        #在线的利用工具#
                工具一:https://dnsdb.io/zh-cn/
                工具二:http://history.tool.cc/whois/
                工具三:http://viewdns.info/iphistory/?domain=要查询的域名地址

        方法五:#查找phpinfo#
        这个要看运气找到phpinfo的时候查看里面的SERVER_NAME即可知道真实IP

        方法六:#胆大有钱才能做#
        免费CDN,一般防御也就送免费的几十G,直接DDOS冲cdn打,把CDN流量打完,自然就回源了,真实IP也就暴露出来了。



作者:PHPoop
链接:http://www.jianshu.com/p/64fe002bf0b3
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

---恢复内容结束---

posted @ 2017-08-20 01:07  wind_飘  阅读(3599)  评论(0编辑  收藏  举报