Exploiting XXE using external entities to retrieve files
Link: https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-retrieve-files
Last updated
Link: https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-retrieve-files
Last updated
Description:
This lab has a "Check stock" feature that parses XML input and returns any unexpected values in the response.
To solve the lab, inject an XML external entity to retrieve the contents of the /etc/passwd
file.
Proof of concept:
Analisa web target
Dari hasil analisa didapati fitur Check stock
untuk melihat ketersediaan produk. Dan ketika dilihat request yang diberikan ketika melakukan pengecekan stok tersebut, request tersebut menggunakan XML pada body requestnya
Karena menggunakan XML, ada kemungkinan dapat dilakukan XML Injection atau XXE Injection. Untuk memastikannya, tambahkan payload XXE pada body request dan panggil variabel ent
pada data productId
karena output request endpoint tersebut berasal dari data productId
. Jika telah dilakukan penambahan dan perubahan pada XML yang ada, maka akan terlihat seperti berikut
Kirim request tersebut, dan dengan menggunakan XML berhasil membaca atau membuka file yang berada pada server target
Thanks, Stay Ethical & Happy Hacking! 🍻