SQL注入之updatexml()报错注入

SQL注入之updatexml()报错注入

updatexml()函数

使用前提

在mysql高版本中(大于5.1版本)中添加了对XML文档进行查询和修改的函数,updatexml(),extracvalue()

而显示错误则需要在开发程序中采用print_r mysql_error()函数,将mysql错误信息输出。

函数本身

作用:改变文档中符合条件的节点,使用不同的xml标记匹配和替换xml块的函数。


updatexml(XML_document,XPath_string,new_value);
  • XML_document:String格式,为XML文档对象的名称,文中为Doc

  • XPath_string:Xpath格式的字符串,代表路径。

  • new_value:String格式,替换查找到的符合条件的数据。

原理

在使用此语句时,如果XPath_string不符合该种类格式,就会出现格式错误,并且会以系统报错的形式提示出错误,也就是我们的输入的具体的字符串不合规范。

那么哪些格式是不符合规范的,比如在字母数字前加入特殊字符如~*

实例

在sqli-labs靶机平台进行测试

如下是一个查询被数据库名称的sql注入句。


id = 1' and updatexml(1,concat('~',(select databse()),'~'),1) --+

结果:

如果还想要其他查询语句,在select那个位置做修改即可

posted @ 2022-01-30 01:48  三木森林  阅读(555)  评论(0编辑  收藏  举报