使用union查询判断回显点
union查询条件:每个子查询检索列数、类型、排序规则必须相同,否则报错
union查询结果:合并显示查询的结果
猜解列数:
127.0.0.1/Less-2/?id=1 order by 4
判断列数为3,所以使用union每个子查询语句检索列数为3,即select 1,2,3的形式。
即SELECT * FROM users where id=-1 union SELECT 1,2,3;语句中子查询1的select *表示查询所有列,列数是3列;子查询2的 SELECT 1,2,3表示查询列数是3列。满足每个子查询检索列数相同。
原理:
两个子查询都不为空时,结果显示为第一行的Dumb Dumb
id设为-1,使第一个子查询为空,结果显示为第二个子查询结果
union查询判断回显位:
127.0.0.1/Less-2/?id=-1 union select 1,2,3
第一条语句查询值为空,合并后,显示第二个子查询select 1,2,3的结果。
由此判断,回显点在第2列第3列。
替换
将select 1,2,3的2,3替换为可利用的函数