# XXE La7
這題是考 XInclude 注入,這跟傳統 XXE 不同,因為:
- 沒辦法定義 DOCTYPE 或 DTD 來插入實體
- 伺服器的 XML 解析器會解析 XInclude 指令,允許你包含其他檔案內容。
一樣進入網站並攔截請求。

並在送出的 XML 中插入:
```
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include parse="text" href="file:///etc/passwd"/>
</foo>
```
- `xmlns:xi="http://www.w3.org/2001/XInclude"` 定義了 xi 命名空間。
- `<xi:include parse="text" href="file:///etc/passwd"/>` 表示「把 /etc/passwd 這個檔案當文字包含進來。
最後伺服器解析後會把 `/etc/passwd` 的內容直接放到回應裡。
簡單講,這段就是:
「拜託伺服器去讀它自己 `/etc/passwd` 這個檔案,然後把裡面的文字內容直接貼回給我。」
就像你請服務生去拿菜單出來,然後直接給你看。
XInclude 就是 XML 的「引用外部檔案」功能,你用他插入要偷看的檔案路徑,伺服器會照做。


---