一、增加WAF包袱
WAF是为网站安全做事的,但是WAF的存在如果滋扰了网站的正常运行,则会得不偿失落,因此,网站管理员一样平常会恰当的配置WAF,起到在不会滋扰网站正常运行的条件下,对用户的输入进行过滤的浸染。因此,有些WAF就会设置如果数据包长度过长,就对部分数据包或者是数据包的部分内容进行无检测“放行”,根据这一事理,可以考虑以增加WAF包袱的办法,进行绕过WAF。

1、增加变量参数个数

有些云WAF,由于配置的缘故原由,在检测参数时,只会检测部分参数,如safedog,只会检测前100个参数,这样,就可以人为的加入很多没故意义的参数,然后把有用的参数放到末了面,就可以绕过云waf的考验了。
2、增加参数长度
此办法常见于文件上传漏洞中对付用户文件内容进行检测的场景,增加前面无意义的内容,把webshell放在文件的末了,即可绕过WAF的考验。此外,在进行SQL注入测试时,故意增加url的长度,并将其注释掉,也可以起到一定的效果。在进行XSS测试的时候,加入一些无意义的数据,也可以起到相应相应的浸染。
3、增加WAF负载
采取这种办法一定要在有把握的情形下进行,事理是有些WAF在进行事情的时候,如果站点流量过大,则为了担保网站的可用性,会放弃对部分数据包的考验。因此,我们可以向WAF大量的发送正常的数据包,同时在个中夹杂非常的数据包,此时或许绕过WAF的考验。当然,在这种情形下,要谨慎的设置攻击模式,避免用此办法对站点造成的宕机。
二、布局非常数据包
WAF不是人,因此WAF在进行考验匹配的时候会比较去世板(ps:有些云WAF,会采纳基于大数据和机器学习算法的防御办法,这个时候就可能比较难以注入),尤其是在采纳黑名单为根本的过滤办法情形下,更明显的表现在没有对WAF进行合理配置的情形下,在这种情形下,人为的故意发送非常的数据包,可能会起到绕过WAF的浸染。(ps:当然了,布局的数据包也不能过于奇葩,导致做事器站点不能解析数据包中的内容,这样就没用了)
此外,WAF和网站的合营有时并不会那么完美,有些网站中间健所含有的漏洞,未必被WAF所保护,考虑到WAF是通用配置,在防护Nginx、windows和Apache平分歧站点类型的情形下,未必能够配置的那么完美,因此,WAF在设计过程中,存在天然的毛病,而这些毛病就可以被我们利用。
1、双参数绕过
有时,可以利用双参数绕过的办法来绕过WAF,比如说网站有一个参数id,则可以在数据包中含有两个id参数,这时WAF有可能只检讨了第一个id的内容,从而第二个id的poc进入到做事器被实行。
2、要求办法转换
有时,WAF会只考验GET类型的包,而忽略掉POST类型的包,或者相反。在这种情形下,就可以修正数据包的类型,考试测验绕过数据包。有时,把数据包改成其他的,如request类型或者是根本就不存在的类型也会起到意想不到的效果。
3、绕过匹配规则
这里的通用绕过思路,即在进行sql注入测试、XSS测试、文件干系漏洞测试等测试时一些通用的绕过思路,常见的有:
①双写绕过
②大小写绕过
③编码绕过
④注释绕过
⑤利用不常用的函数
⑥文件上传干系绕过办法
⑦字符串拼接
⑧空缺符绕过
三、绕过WAF
有时,站点采取了云WAF,此时,如果能够找到真实的做事器IP地址,则可以绕过WAF的考验,在这里,这种办法我先不细讲。除了绕过云WAF之外,由于站点再配置过程中的问题,会存在其他类型的WAF的绕过办法。
1、旁站绕过
有时,网站管理员在配置WAF的时候会涌现疏漏,针对http和https协议的80和443端口有时并没有全部进行防护,因此,在这种情形下,不妨在地址栏中,把http改为https(或者进行相反的操作),说不定会有意外收成!
2、表名单绕过
云WAF在配置过程中,有时会选择“信赖”部分数据包,这部分数据包不会被云WAF进行匹配考验,在WAF里坚持着一个白名单列表,凡是在符合白名单的哀求,WAF就不会进行检测。因此,基于这种思路,我们就可以把我们访问的数据包伪装成白名单上的数据包,这样就可以绕过WAF的考验了。
①伪装成爬虫
有的时候,站点为了提高自己在SEO上的排名,会设置对大型搜引擎的爬虫不做考验,这个时候,只要在数据包中user-agent字段中把原始的信息更换成搜索引擎信息,就可以绕过WAF的考验了。
②伪装本钱身
有些网站不会对自己(即物理机上的操作)进行考验,因此,可以在数据包中设置X-FARWARDED-FOR头,或者是X-Originating-IP,将其设置为127.0.0.1,这样就可以绕过WAF了。
3、目录伪装绕过
有时,WAF会设置不拦截针对特定目录的数据包,如admin等。有时是通过检测数据包中是否含有指定的关键字符串来剖断的。这时,我们可以根据这一特性,通过…/等办法人为的布局含有这些指定目录字符串特性的数据包,从而绕过WAF的考验。360webscan脚本会对admin dede install等目录不做拦截,这样就可以布局含有这些字符串的数据包,从而进行绕过。
总之,WAF是基于规则的绕过,这样WAF在事情的时候就有天然的毛病型,限定了WAF浸染的发挥,导致想防火墙一样,总是存在着各种各样的绕过姿势。只要渗透测试者负责一点,发挥自己的脑洞,就一定能找到得当的方法进行绕过。
