URL-based access control can be circumvented
Link: https://portswigger.net/web-security/access-control/lab-url-based-access-control-can-be-circumvented
Description:
This website has an unauthenticated admin panel at /admin, but a front-end system has been configured to block external access to that path. However, the back-end application is built on a framework that supports the X-Original-URL header.
To solve the lab, access the admin panel and delete the user carlos.
Proof of concept:
Analisa web target

Dari hasil analisa terdapat navigasi untuk mengarahkan kehalaman
Admin panel, namun ketika diakses terdapat pesanAccess denied

Seperti yang telah dijelaskan pada deskripsi lab, pada target ini support terhadap
X-Original-Url.X-Original-Urlmerupakan header HTTP yang menunjukkan URL asli dari suatu sumber daya sebelum diubah atau dialihkan. Maka dari itu, dengan parameter header HTTP tersebut bisa dicoba untuk melakukan eksploitasi bypass access control. Caranya, tambahkan HTTP headerX-Original-Urltersebut menggunakan burp suite repeater arahkan ke endpoint yang tidak dapat diakses yaitu endpoint/admin
Terlihat, isi dari halaman yang terdapat di endpoint
/admindiantaranya adalah fitur untuk menghapus pengguna yang terdaftar yang diarahkan ke endpoint/admin/delete?username=Untuk menyelesaikan tangtangan lab ini, diharuskan untuk menghapus user
carlos. Maka dari itu untuk nilaiX-Original-Urlarahkan ke endpoint delete user yaitu/admin/deletedan untuk endpointnya ubah menjadi/?username=carloskarena user yang akan dihapus adalah user dengan usernamecarlos
Maka user
carlosberhasil dihapus dan tantangan lab ini telah terselesaikan
Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated