Extractvalue(這單詞略長,拆分記憶法extract:提取物 value:值)
上一篇說的是updatexml。updatexml是修改的。而evtractvalue是查詢的。
用法與updaxml類似。
同updatexml一樣,限制長度也是32位。
函數解釋:
extractvalue():從目標XML中返回包含所查詢值的字符串。
EXTRACTVALUE (XML_document, XPath_string);
第一個參數:XML_document是String格式,為XML文檔對象的名稱,文中為Doc
第二個參數:XPath_string (Xpath格式的字符串)
concat:返回結果為連接參數產生的字符串。
payloaod:
and extractvalue(null,concat(0x7e,(select @@datadir),0x7e));
extractvalue注入的原理:依舊如同updatexml一樣,extract的第二個參數要求是xpath格式字符串,而我們輸入的並不是。所以報錯。