Exploiting blind XXE to retrieve data via error messages
Link: https://portswigger.net/web-security/xxe/blind/lab-xxe-with-data-retrieval-via-error-messages
Description:
This lab has a "Check stock" feature that parses XML input but does not display the result.
To solve the lab, use an external DTD to trigger an error message that displays the contents of the /etc/passwd file.
The lab contains a link to an exploit server on a different domain where you can host your malicious DTD.
Proof of concept:
Analisa web target

Dari hasil analisa, didapati terdapat fitur
Check stockyang menggunakan XML pada request body. Hal tersebut memungkinkan untuk dilakukan XXE InjectionSeperti yang telah dijelaskan oleh judul lab, maka cari tahu payload basic XXE Error Based menggunakan remote DTD. Didapatkan payload seperti gambar dibawah atau bisa di akses di github ini

Pada exploit server, masukan payload untuk di file DTDnya seperti gambar dibawah

Jika sudah, pada endpoint
Check stock, gunakan payload XXE Injection untuk mentrigger file DTD yang telah dibuat pada server exploit dengan mengarahkan ke URL server exploit. Jika sudah kirim request tersebut, maka data/etc/passwdpada server target berhasil diakses secara tidak sah dan dengan demikian tantangan lab ini berhasil diselesaikan

Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated