本文共 825 字,大约阅读时间需要 2 分钟。
一、Union
union操作符 用于合并两个或多个select 语句的结果集注意:union内部的select语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条select语句中的列的顺序必须相同。
默认情况,Union操作符选取不同的值。如果允许重复的值,请使用union all注意:
1、只有最后一个select子句允许有order by;2、只有最后一个select子句允许有limit;3、只要union连接的几个查询的字段数一样且列的数据类型转换没有问题,就可以查询出结果;4、注入点页面有回显;union注入方法
1、 order by 确定列数2、观察页面返回,选取可以显示数据的位置,进行下一步的注入3、读库信息4、读表信息5、读字段6、读数据二、利用报错注入
报错注入原理:构造payload让信息通过错误提示回显出来报错函数
floor()select count() from information_schema.tables group by concat((select version()), floor(rand(0)2));group by 对rand()函数进行操作时产生错误extractvalue()
extractvalue(1,concat(0x7e,(select user()),0x7e));xpath语法错误产生报错updatexml()
select updatexml(1,concat(0x7e,(select user()),0x7e),1);xpath 语法错误产生报错select count() from information_schema.tables group by concat((user()),floor(rand(0)2))
转载于:https://blog.51cto.com/2042617/2339223