报错注入

报错注入原理:

构造payload让信息通过错误提示回显出来
让错误信息中返回数据库中的内容,即可实现sql注入

报错注入常用的几个函数

floor():向下取整

rand()函数:在0和1之间产生一个随机数 rand(0)表示在一段时间内是一个固定值

floor(rand(0)*2)
就是对rand(0)产生的随机序列乘以2后的结果,再进行取整,得到的是由0和1组成的伪随机序列

goup by函数用于对数据进行分组(相同的分为一组)

count()函数用于统计结果的记录数

floor()报错注入:

select count(*) from information_schema.tables group by concat(0x7e,(select version(),0x7e),floor(rand(0)*2));

group by对rand()函数进行操作时产生错误

extractvalue()报错注入:

extractvalue() :对XML文档进行查询的函数
语法:extractvalue(目标xml文档,xml路径)

第二个参数 xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。

XPATH语法错误产生报错
extractvalue(1,concat(0x7e,(select version()),0x7e));

updatexml()报错注入:

语法:updatexml(XML_document, XPath_string, new_value);

XPATH语法错误产生报错
select updatexml(1,concat(0x7e,(select version()),0x7e),1);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。