目录:
无列名注入详解:无列名注入详解
参考自:本题目的详解
写博客只是为了输出学习而已,
无他
一、自己做:
发现了 那个广告的地方可能有漏洞
第二次做:。没做出来,这里卡壳了:
就是 他是个单引号闭合的注入,然后过滤掉了 注释符,我们不能够去用注释去闭合单引号了,
然后这个题能够使用联合查询注入,也就是union select 这个最简单的方法,所以也就不用 报错的盲注了。所以 ' or '1
这些闭合单引号的东西就都不好使了,
然后这里学到额了,说可以使用 可以,'2
。这样来闭合单引号
二、不足&&学到的:
- 尝试了ssti。却忘记了尝试sql注入。。。
- 过滤了order的时候,可以用group by 来测试有多少行
- 单引号闭合,正常闭合会出错的话,可以
,'2
。这样闭合,可以看下文 - 无列名注入真的爽。。学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习
- 一般都有limit 0,1的限制,可用group_concat()来将数据弄到一行中去,
- 空格用/**/内敛注释绕过。
- 再补一句废话,这个才是练习sql绕过的好题,其他题目,那啥呀,真是,奇奇怪怪的过滤,奇奇怪怪的绕过姿势,,,烦死了。。
三、学习WP
用sql注入测试一下
然后发现是MariaDB数据库的。
1.测试看看过滤了那些关键字,(这里要多看看,学学)
其实这里是最繁琐。最难的地方,我这里就直接看WP了。
经过尝试发现过滤了空格,or,and,–+,#,order等关键字
- order可以用group来绕过。 ,order by 换成 group by来看看有多少列,
- 空格 可以用 /**/ 这个内敛注释绕过。
- 注释符 ,可以用 单引号进行闭合,比如 group by 1, '2
然后 经过 报错的提示,我们猜测 后台的执行语句是:
select * from ads where tile = ‘$tltle’ limit 0,1
用group by 也就是以前的order by 看看有调取几行数据:
1'/**/group/**/by/**/50,'2
z这里的 , '2
。用来闭合用的。以前没见到多。这里学到了
多了,然后用二分法慢慢测: