沒錯!也是 Injection 的一種!以下簡稱 XXE。
話說這個弱點,會發現在 XML 引用內部或外用部資源,由於 XML 解析器不會阻止及限制外部實體解析,如此可導致解析器遭受 XML 外部實體攻擊…
主要是因為 XML 本身支援存取資源的弱點,所以 XML 有用過應該就很有感(!
呃,好,我們直接看範例 =v=+
用於 XML 引用內部或外部資源,我們可以用 Burpsute 或是相關工具可以重送 Request:
或是使用迴圈讓它中止服務之類的…
圖片來源:https://www.acunetix.com/blog/articles/xml-external-entity-xxe-vulnerabilities/
弱點的根源在於
(1) 接收XML Input,而沒有針對內容做過濾。
(2) XML 中參考內部 DTD 或 外部 DTD
防止 XXE 攻擊的最佳方式:就是不要用… 或升級解析器的版本。
如果是Web Services 建議 SOAP 1.2 以上版本。
由於語言的框架太多了,簡單附上幾種實體解析的方式:
或是可以直接參考OWASP TOP 10 中的 XXE 修復方式:
https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html
https://www.tutorialspoint.com/dtd/dtd_entities.htm
https://www.acunetix.com/blog/articles/xml-external-entity-xxe-vulnerabilities/
微軟「遠端協助」有漏洞,恐使用戶資料不保 https://www.ithome.com.tw/news/121985
XXE 漏洞的學習與利用總結 https://www.cnblogs.com/r00tuser/p/7255939.html