首先了解下updatexml()函數
UPDATEXML (XML_document, XPath_string, new_value);
第一個參數:XML_document是String格式,為XML文檔對象的名稱,文中為Doc
第二個參數:XPath_string (Xpath格式的字符串) ,如果不了解Xpath語法,可以在網上查找教程。
第三個參數:new_value,String格式,替換查找到的符合條件的數據
作用:改變文檔中符合條件的節點的值
改變XML_document中符合XPATH_string的值
而我們的注入語句為:
updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)
其中的concat()函數是將其連成一個字符串,因此不會符合XPATH_string的格式,從而出現格式錯誤,爆出
ERROR 1105 (HY000): XPATH syntax error: ':root@localhost'
xpath語法格式總結:https://www.jb51.net/article/125607.htm
總結
以上就是本文關于MYSQL updatexml()函數報錯注入解析的全部內容,希望對大家有所幫助。感興趣的朋友可以參閱:MySQL prepare原理詳解、幾個比較重要的MySQL變量、MySQL刪除表數據的方法等,有什么問題可以隨時留言,歡迎大家交流討論。在此也非常感謝朋友們對本站的支持。
您可能感興趣的文章:- MySQL UPDATE更新語句精解
- Mysql聯表update數據的示例詳解
- 實例驗證MySQL|update字段為相同的值是否會記錄binlog
- mysql update語句的執行過程詳解
- MySQL select、insert、update批量操作語句代碼實例
- Mysql update多表聯合更新的方法小結
- MySQL執行update語句和原數據相同會再次執行嗎
- mysql事務select for update及數據的一致性處理講解
- Mysql Update批量更新的幾種方式
- MySQL中參數sql_safe_updates在生產環境的使用詳解
- mysql中錯誤:1093-You can’t specify target table for update in FROM clause的解決方法
- mybatis執行批量更新batch update 的方法(oracle,mysql兩種)
- 記一次MySQL更新語句update的踩坑