SSRF with filter bypass via open redirection vulnerability
Link Portswigger : https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection
Last updated
Link Portswigger : https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection
Last updated
Description :
This lab has a stock check feature which fetches data from an internal system.
To solve the lab, change the stock check URL to access the admin interface at http://192.168.0.12:8080/admin
and delete the user carlos
.
The stock checker has been restricted to only access the local application, so you will need to find an open redirect affecting the application first.
Proof of concept:
Cek seluruh HTTP Traffic pada seluruh fitur
Pada fitur check stock
, sistem target memanggil API via parameter stockAPI
Pada parameter ini terjadi request yang memanggil API /product/stock/check?productId=&storeId=
. Pada parameter ini, terdapat kemungkinan terjadinya kerentanan SSRF. Pertama-tama coba untuk melakukan pengecekan eksternal SSRF
Ketika mencoba untuk melakukan SSRF eksternal, pada parameter tersebut memiliki URL validation yang dimana sistem akan membaca jika yang diinputkan bukan dari host URL, sistem akan menolak request tersebut. Maka dari itu, kita tidak bisa melakukannya (SSRF Eksternal). Mari lakukan analisa kembali, pada traffic SSRF, terdapat API lainnya. API tersebut dipanggil ketika pengguna melakukan request "Next Product"
Lakukan analisa API tersebut, dari hasil analisa, endpoint atau API tersebut rentan terhadap kerentanan Open Redirect. Sebagai contoh, ketika nilai pada parameter tersebut diubah menjadi URL eksternal, sistem akan melakukan redirect ke URL tersebut
Coba untuk mengkombinasikan kerentanan tersebut, yaitu kerentanan SSRF dan Open Redirect. Copy API Next Product
untuk disimpan atau diisi pada parameter stockAPI
Lakukan URL encode pada nilai parameter tersebut. Jika sudah, kirim kembali request tersebut dan response tersebut akan berhasil
Ini terjadi karena sistem membaca inputan yang valid pada parameter stockAPI
, karena nilainya diawali "/"
, yang artinya menunjunkan ke host target domain/URL
Coba untuk melakukan SSRF access internal IP menggunakan parameter path pada API /product/NextProduct
. Seperti yang telah diketahui, clue untuk lab ini adalah
Seperti yang telah dijelaskan pada deksripsi lab, kita harus melakukan penghapusan akun carlos untuk menyelesaikan tantangan lab ini. Untuk itu, manfaatkan kerentanan SSRF via Open Redirect kembali dengan internal URL/Endpoint target seperti berikut itu didapati dari hasil menganalisa hasil response di tahapan sebelumnya
Thanks, Stay Ethical & Happy Hacking! 🍻