File path traversal, traversal sequences stripped with superfluous URL-decode
Link: https://portswigger.net/web-security/file-path-traversal/lab-superfluous-url-decode
Last updated
Link: https://portswigger.net/web-security/file-path-traversal/lab-superfluous-url-decode
Last updated
Description:
This lab contains a path traversal vulnerability in the display of product images.
The application blocks input containing path traversal sequences. It then performs a URL-decode of the input before using it.
To solve the lab, retrieve the contents of the /etc/passwd
file.
Proof of concept:
Cek semua fitur
Analisa request dan response pada semua fitur. Dari hasil analisa, terdapat endpoint /image untuk mengambil data gambar dengan parameter filename
Pada endpoint tersebut, memungkinkan terdapat kerentanan File path traversal karena endpoint tersebut digunakan untuk mengambil data/file pada server target
Lakukan percoban exploit dengan beberapa payload, hingga ditemukan payload ../../../../../etc/passwd
dengan 2 kali di encode URL yang hasilnya akan menjadi %25%32%65%25%32%65%25%32%66%25%32%65%25%32%65%25%32%66%25%32%65%25%32%65%25%32%66%25%32%65%25%32%65%25%32%66%25%32%65%25%32%65%25%32%66%25%36%35%25%37%34%25%36%33%25%32%66%25%37%30%25%36%31%25%37%33%25%37%33%25%37%37%25%36%34
. Kirim request tersebut dengan nilai parameter filename bernilai payload tersebut dan response yang diberikan akan mengirimkan data file /etc/passwd pada server target
Cara yang dapat dilakukan lainnya juga dapat menggunakan fitur burp suite intruder, Setting attack type menjadi snipper dan payload berisi list Fuzzing - Path Traversal (Only Burp Professional) atau bisa menambahkan payload fuzzing traversal lainnya yang terdapat pada github atau lainnya. Lakukan brute force tersebut hingga menemukan payload yang valid yang ditandai dengan HTTP Response Code 200
Thanks, Stay Ethical & Happy Hacking! 🍻