1. 程式人生 > 其它 >SQL注入之updatexml()報錯注入

SQL注入之updatexml()報錯注入

SQL注入之updatexml()報錯注入

updatexml()函式

使用前提

在mysql高版本中(大於5.1版本)中添加了對XML文件進行查詢和修改的函式,updatexml(),extracvalue()

而顯示錯誤則需要在開發程式中採用print_r mysql_error()函式,將mysql錯誤資訊輸出。

函式本身

作用:改變文件中符合條件的節點,使用不同的xml標記匹配和替換xml塊的函式。


updatexml(XML_document,XPath_string,new_value);
  • XML_document:String格式,為XML文件物件的名稱,文中為Doc

  • XPath_string:Xpath格式的字串,代表路徑。

  • new_value:String格式,替換查詢到的符合條件的資料。

原理

在使用此語句時,如果XPath_string不符合該種類格式,就會出現格式錯誤,並且會以系統報錯的形式提示出錯誤,也就是我們的輸入的具體的字串不合規範。

那麼哪些格式是不符合規範的,比如在字母數字前加入特殊字元如~*

例項

在sqli-labs靶機平臺進行測試

如下是一個查詢被資料庫名稱的sql注入句。


id = 1' and updatexml(1,concat('~',(select databse()),'~'),1) --+

結果:

如果還想要其他查詢語句,在select那個位置做修改即可