JWT authentication bypass via flawed signature verification
Link:https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-flawed-signature-verification
Last updated
Link:https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-flawed-signature-verification
Last updated
Description:
This lab uses a JWT-based mechanism for handling sessions. The server is insecurely configured to accept unsigned JWTs.
To solve the lab, modify your session token to gain access to the admin panel at /admin
, then delete the user carlos
.
You can log in to your own account using the following credentials: wiener:peter
Preparation:
Install JSON Web Tokens on Burp Suite extension
Proof of concept:
Lakukan analisa pada web target menggunakan akun testing
Akses halaman /admin
Terlihat halaman admin hanya dapat diakses menggunakan akun administrator. Lakukan percobaan modifikasi JWT menggunakan extension JSON Web Tokens
yang sebelumnya telah diinstal dengan cara kirim request pada saat mengakses halaman /admin
ke burp suite repater
. Jika sudah, buka tab JSON Web Tokens
Pada header JWT terdapat parameter alg
dengan nilai RS256
. Ubah nilai pada paramter alg
tersebut menjadi none
dengan cara pada drop-down Alg None Attack
pilih Alg: none
. Selanjutnya, pada payload terdapat parameter sub
dengan nilai wiener / username yang sedang login
. Ubah nilai pada parameter tersebut menjadi administrator
Selanjutnya, kirim kembali request tersebut dan dapat dilihat halaman /admin
berhasil diakses dengan ditandai dengan response 200 OK
Untuk menyelesaikan tangtangan pada lab ini, hapus user carlos
Thanks, Stay Ethical & Happy Hacking! 🍻