程式碼安全測試第六期:XPath注入漏洞
1、什麼是XPath注入漏洞?
XPath是一種用來在記憶體中導航整個XML樹的語言,它使用路徑表示式來選取XML文件中的節點或者節點集。
XPath注入是指程式使用外部輸入動態構造用於從XML資料庫檢索資料的XPath表示式,但它沒有過濾或錯誤地過濾該輸入,這使攻擊者可以控制查詢的結構。攻擊者可以控制從XML資料庫中選擇的資訊,並可能使用該功能來控制應用程式流,修改邏輯,檢索未經授權的資料或繞過重要檢查(例如身份驗證)。
2、XPath注入漏洞的構成條件有哪些?
①資料是從不可靠的來源(包括但不侷限於不可靠使用者的輸入資訊或是不可靠使用者可能更改的檔案)進入應用程式的;
②使用者輸入未經過驗證,被查詢語句直接使用並執行。
3、XPath注入漏洞會造成哪些後果?
關鍵詞:繞過驗證;讀取重要資料;
①控制應用程式流程(例如繞過身份驗證),從而進行一些未授權的行為;
②攻擊者可以讀取未授權的XML內容。
4、如何防範修補XPath注入漏洞?
①使用引數化的 XPath查詢(例如使用XQuery)。這有助於確保資料平面和控制平面之間的分離;
②對使用者輸入的資料提交到伺服器上端,在服務端正式處理這批資料之前,對提交資料的合法性進行驗證。檢查提交的資料是否包含特殊字元,對特殊字元進行編碼轉換或替換、刪除敏感字元或字串,如過濾[ ] ‘ “ and or 等全部過濾,像單雙引號這類,可以對這類特殊字元進行編碼轉換或替換;
③透過加密演算法,對於資料敏感資訊和在資料傳輸過程中加密。
5、XPath注入漏洞樣例:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2773813/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第十二期:LDAP注入漏洞LDA
- 程式碼安全測試第五期:OS命令注入漏洞
- 程式碼安全測試第十五期:跨站指令碼漏洞指令碼
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- 網站漏洞檢測 wordpress sql注入漏洞程式碼審計與修復網站SQL
- 程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
- 程式碼安全測試第十期:日誌偽造漏洞
- 程式碼安全測試第十一期:記憶體洩漏漏洞記憶體
- 邏輯注入漏洞滲透測試檢測辦法
- 測試工具-XPath使用
- 程式碼安全測試第二期:URL重定向(跳轉)漏洞
- 程式碼安全測試第十六期:使用不安全的隨機值漏洞隨機
- 程式碼安全 兩種程式碼漏洞
- 程式碼安全測試第一期:什麼是SQL隱碼攻擊漏洞?SQL
- 程式碼安全測試第二十期:資源未關閉/釋放漏洞
- 程式碼安全測試第十三期:敏感資訊的明文傳輸漏洞
- 程式碼安全測試第二十二期:HTTP響應拆分漏洞HTTP
- 程式碼安全測試第四期:可逆的單向雜湊漏洞
- 網站安全測試之APP滲透測試漏洞網站APP
- 程式碼安全測試第二十八期:未使用的變數缺陷漏洞變數
- 程式碼安全測試第二十一期:從finally塊中return漏洞
- Web 安全漏洞之 SQL 注入WebSQL
- 網站滲透測試安全檢測漏洞網站
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- 程式碼安全測試第三期:路徑遍歷漏洞的防範與檢測
- 程式碼安全測試第十九期:用不安全的授權建立臨時檔案漏洞
- 網站漏洞測試php程式碼修復詳情網站PHP
- 網站滲透測試漏洞分析程式碼架構網站架構
- 程式碼安全測試第二十九期:通用異常捕獲宣告缺陷漏洞
- 軟體測試與程式碼安全詳解
- 滲透測試之CSRF程式碼漏洞的檢測與加固方案
- 程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷陣列
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- 墨者學院-SQL手工注入漏洞測試(MySQL資料庫)MySql資料庫
- web應用安全測試之業務漏洞Web
- 測試開發必備技能:安全測試漏洞靶場實戰
- 程式碼安全測試第十七期:物件只定義了Equals和Hashcode方法之一的漏洞物件
- 測試程式碼