1. 程式人生 > 其它 >MYSQL 通過UpdateXml()報錯注入

MYSQL 通過UpdateXml()報錯注入

技術標籤:mysql

函式解釋:

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);

在這裡插入圖片描述
發現注入成功,成功爆出版本號。