首先了解下updatexml()函数
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值
改变XML_document中符合XPATH_string的值
而我们的注入语句为:
updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)
其中的concat()函数是将其连成一个字符串,因此不会符合XPATH_string的格式,从而出现格式错误,爆出
ERROR 1105 (HY000): XPATH syntax error: ':root@localhost'
xpath语法格式总结:https://www.jb51.net/article/125607.htm
总结
以上就是本文关于MYSQL updatexml()函数报错注入解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:MySQL prepare原理详解、几个比较重要的MySQL变量、MySQL删除表数据的方法等,有什么问题可以随时留言,欢迎大家交流讨论。在此也非常感谢朋友们对本站的支持。
您可能感兴趣的文章:- MySQL UPDATE更新语句精解
- Mysql联表update数据的示例详解
- 实例验证MySQL|update字段为相同的值是否会记录binlog
- mysql update语句的执行过程详解
- MySQL select、insert、update批量操作语句代码实例
- Mysql update多表联合更新的方法小结
- MySQL执行update语句和原数据相同会再次执行吗
- mysql事务select for update及数据的一致性处理讲解
- Mysql Update批量更新的几种方式
- MySQL中参数sql_safe_updates在生产环境的使用详解
- mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法
- mybatis执行批量更新batch update 的方法(oracle,mysql两种)
- 记一次MySQL更新语句update的踩坑