MYSQL 通過ExtractValue()報錯注入
阿新 • • 發佈:2021-02-05
技術標籤:mysql
函式解釋:
extractvalue():從目標XML中返回包含所查詢值的字串。
EXTRACTVALUE (XML_document, XPath_string);
第一個引數:XML_document是String格式,為XML文件物件的名稱
第二個引數:XPath_string (Xpath格式的字串)
concat:返回結果為連線引數產生的字串。
報錯原理
例如:SELECT ExtractValue('<a><b><b/></a>', '/a/b');
就是尋找前一段xml文件內容中的a節點下的b節點,這裡如果Xpath格式語法書寫錯誤的話,就會報錯。這裡就是利用這個特性來獲得我們想要知道的內容。
約束條件
輸出字元長度限制為32個字元
注入語句
and extractvalue(null,concat(0x7e,(程式碼操作),0x7e))
舉例
select * from users where id and extractvalue(null,concat(0x7e,(select version()),0x7e));