Cyber Security - XXE

Cyber Security - XXE

LAVI

Cyber Security - XXE

XXE:XML external entity injection
XML 外部實體注入攻擊

XXE Introduction

XXE 注入可用於解析 XML 注入的 Web 應用程式
攻擊者能夠提交 XML,從而利用對外部實體的引用,攻擊便發生在伺服器處理 XML 時

當 XML 解析器使用預設或弱配置、設定未妥善處理過濾輸入時,即有可能發生 XXE 注入

XXE Example

假設一個網站使用 XML 為其重設密碼功能提交資料,攻擊者截獲 XML 請求,並對請求做出變更,存取伺服器上的任意檔案
使 Web 伺服器解析 XML 並回傳 /etc/password 檔案,即是一種 XXE 攻擊

XXE Impact

XXE 可能讓攻擊者進行內部埠掃描,並映射被攻擊者的整個網路
攻擊者可以從 Web 伺服器檢索文件,從而導致資料洩漏、系統無法被使用,以致被攻擊者收入或聲譽損失

XXE Prevent

  1. 開發人員應對所有使用者提供的輸入套用應用程式範圍的篩選條件或過濾,考慮 GET、POST 參數、cookies 和其他 HTTP headers
  2. 一律套用允許清單輸入驗證
  3. XML 解析應該完全停用對外部實體或 DTD 的支援,檢查特定框架的設定,才執行操作

Reference