sqli-labs 32到40
原来29、30、31真正的题目并不是上章写的,这个我们留到最后再议
第32题
发现对所有特殊字符都进行了转义
理论上来说这道题是不能注入的,因为怎么也闭合不了
但是查看源码发现使用的是gbk编码
这就导致可以考虑宽字节注入,因为\的url编码为%5c
如果在前面加上另一个url编码就可能导致%5c跟前面加上的一起解码为一个偏僻字
比如前面加上%D4就会转换为汉字診
导致'成功逃逸。
闭合方式为'
使用union注入
之后就简单啦。
第33题
查看闭合方式:"不报错,'报错,与'有关
'闭合。
感觉跟上一题没有什么区别
第34题
是post注入方式,抓包看看
“不报错,'报错
’);--+报错,为'闭合
剩下同理。
第35题
'和”都报错
数字型注入
剩下同理。
注意一点:因为宽字节注入虽然可以让第一个'顺利逃逸,但后面table_schema='security'的时候是需要用到‘的
解决方法是不用括号,而是直接用security的二进制形式查询
?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=0x7365637572697479--+
第36题
判断闭合方式为'
?id=%df'union select 1,database(),3--+
与32题一样的。
第37题
'闭合
正确没有回显,使用报错注入
uname=11&passwd=1%df'or extractvalue(0,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema=0x7365637572697479)))--+&submit=Submit
这里一定注意select前面要加上括号,不加括号会报错。
剩下同理。
第38题
'闭合的字符型注入
爆库爆表都跟之前一样,但这是一道堆叠查询注入
mysqli_multi_query是对多个sql语句进行查询
因此这道题再爆出用户名密码后还可以更改或者插入或者删除等等。
http://localhost/sqli-labs-php7-master/Less-38?id=-1';update users set password='admin'where username='admin'--+
第39题
数字型注入的堆叠查询注入。
第40题
闭合方式为'),没有错误回显,union注入
也可以使用堆叠查询注入插入用户名密码
?id=-1');insert into users(id,username,password) value (21,'sd','bd')--+