首先瞭解下updatexml()函數 UPDATEXML (XML_document, XPath_string, new_value); 第一個參數:XML_document是String格式,為XML文檔對象的名稱,文中為Doc 第二個參數:XPath_string (Xpath格式的字元串) ...
首先瞭解下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格式:http://www.cnblogs.com/Loofah/archive/2012/05/10/2494036.html