1.这题过滤了空格,以及很多我们常用的字符。
2.输入?id=1' 报错,说明可能存在sql注入,可以使用单引号闭合。
3.这里我说下,or and 还有空格是我们sql注入中最常用到的字符,但也不是不可替代的如 || 可以表示为 or, &&表示为and ,还有部分空格的功能可以使用()替换掉。 如 select id from users where id='1',可以表示为: select(id)from(users)where(id)='1'.这样一来就替换掉了空格的使用。
4.因为这里过滤的空格,所以没法使用正常的查询回显操作,那就是用报错注入,因为报错注入使用的空格比较少,
查库
查表,使用了大量的括号来代替空格
查字段,这里使用了 && 来代替and,直接输入发现不行,所以用url编码(%26),当然也可以使用anandd双写绕过
查账号密码,使用where控制偏移量即可遍历所有用户信息。