waf绕过策略
3300 点击·0 回帖
![]() | ![]() | |
![]() | 作者:seay 先说明绕过的一些方法并非原创,这里只是做下简单分析说明,另也主要起到归纳的作用 网上也有绕过防注入的措施,大致内容不外乎编码之类的。这里引用几个: 1,例如常见的URL编码。 2,ASCII编码。 3,空格的绕过 4,类型转换修饰符N绕过 5,通过+号拆解字符串绕过 6,通过>或者<绕过 7,运用注释语句绕过 8,用HEX绕过,一般的IDS都无法检测出来 9,concat绕过 10,字母大小写转换 但是这属于最基本的绕过,适用于大部分平台,但这有个问题就是绕过的不完全,部分可以绕过去,还有一部分严重依赖特殊关键字的还无法绕过。这里就总结几个其他方面的绕过。 1,get转post或cookie。 (这个不算特别例外,但属于绕过一种) 2,.;[payload]。 (用于安全狗,这个是引用前辈的) 3,分片绕过,巨大的content-length,导致设备bypass。此问题最初是出现在传统的IPS上,熟悉TCP/IP的朋友都了解分片,也就是大容量的数据会分片发送然后由服务端重组,但是部分WAF因为性能不足或者其他原因无法重组这些数据,因此不判定为危险数据,于是提交后端服务器处理,于是成功绕过。 4,正则的,%0a ascii 00截断。 例如 aaa=x;username=name防火墙遇到会绕过,一些正则遇到这些也会做一个截断处理。截断上传的原理就不多说了,此问题同样适用于绕过WAF 5,重复变量的绕过,重复变量的变体。 username=fsdf\’ and \’\'=\’;username=fsdf 。此方法依实际情况而定,部分WAF允许变量覆盖,也就是相同的变量付了不同的值,覆盖了waf的cache。但是后端程序会优先处理最先前的值。。。于是乎。。。。 6,超大数据包绕过。 例如:a=x…..{10000} 重口味测试方法了。。。。 7,利用不同post解析方式。 8,畸形数据包结构。 username%20=fsdf;username=fsd;password=sdf 9,绕过针对域名的保护 例如却掉:HTTP头中的Host: 或者修改host | |
![]() | ![]() |