信息收集过程WAF绕过详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是信息收集过程WAF绕过详解。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

我们在进行信息收集时,为了扩大供给面,我们常常需要对目标站点的路径进行扫描。而我们在使用扫描器对指定目标网站进行路径扫描时,如果目标站点存在WAF,那么我们在扫描时就需要注意WAF对扫描器扫描数据包的拦截。一般而言,WAF对扫描器的检测方式有以下几种:

一、扫描器数据包提交方式引发的WAF拦截与解决

有的扫描器,在进行扫描时,为了提升扫描效率,会发送HEAD类型的数据包。不同于GET和POST,HEAD类型的数据包的响应数据包中只会包含数据包头部,而不存在任何的负载信息。因此,正常的浏览器一般不会发送这种数据包,而对于WAF而言,如果接收到这样的数据包,就有可能将其当作扫描器扫描数据包处理,从而控制范围状态码恒为200,从而干扰扫描结果。

二、扫描器指纹引发的WAF拦截与解决

此外,很多扫描器在扫描时,有自己的指纹信息。例如SQLMAP,在对目标的SQL注入漏洞进行扫描时,就会携带自己特有的User-Agent头信息。
安全狗会对常见的扫描器进行检测并拦截,如下所示:
在这里插入图片描述
此外,很多扫描器发送的HTTP请求数据包与浏览器发送的HTTP数据包相比,缺少了很多正常的字段,因此也容易被WAF识别并拦截。针对这种情况,我们可以使用BurpSuite,先抓取浏览器访问的数据包,然后将该数据包发送到Intruder模块,将数据包的URL作为变量,并引入路径字典,然后就可以利用BurpSuite的Intruder模块进行路径扫描了。由于我们的原始数据包是从浏览器中抓取到的,因此就解决了扫描器数据包不全的问题了。

三、扫描速度引发的WAF拦截与解决

最后,扫描器过快的扫描速度,几乎无疑会引发WAF的拦截。
要解决这一问题,唯一可行的方案有两种。第一种是采用延时扫描技术,即在每次发送数据包后,间隔一段时间,再次进行扫描;第二种是采用代理池技术,在扫描工具上设置代理,就可以隐藏自己的真实IP地址,从而绕过WAF了。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/128570294