Exploiting XXE using external entities to retrieve files

Link: https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-retrieve-files

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:

  1. Analisa web target

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

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

  4. Kirim request tersebut, dan dengan menggunakan XML berhasil membaca atau membuka file yang berada pada server target

Thanks, Stay Ethical & Happy Hacking! 🍻

Last updated