The JWT Algorithm
Web - The JWT Algorithm
The application is using JWT based authentication. You can not brute the secret!
• Flag is located on admin account
• Format FLAG: CHH{XXX}
Đọc qua đề thì tôi biết được bài này sử dụng JWT để xác thực tài khoản. Mục đích của bài này là truy cập vào được user admin thì ra flag.
Sau khi tôi thử nhập một username và password bất kì thì nó báo lỗi

Tôi kiểm tra source code thì thấy bình thường, không có gì cả. Trong lúc bí ý tưởng thì tôi nghĩ ra mình nên test thử những đường dẫn mà các thử thách CTF hay sử dụng. Và thật bất ngờ rằng tôi đã đúng

Bạn có thể sử dụng Scan trên Burp Suite để quét các lỗ hổng và tất nhiên Burp Suite đã tìm ra /robots.txt
Tôi đã sử dụng đường dẫn /robots.txt và trang web đã hiển thị những gợi ý. Nhìn gợi ý trang web thì tôi hiểu ra mình phải sử dụng User-agent: Googlebot và đường dẫn /secret.
Để làm được thì tôi sẽ sử dụng Burp Suite để thay đổi
Và tôi đã ra được username và password để đăng nhập vào trang web
Sau khi đăng nhập vào thì trang web yêu cầu là admin thì mới xem được flag
Chúng ta để ý phần cookie là JWT như đề bài đã nói. Bây giờ copy và lên trang JWT để sửa username thành admin và nhận flag thôi

Nhưng mà khoan đã nó có 2 cái JWT lận
Tôi nhận ra cái JWT thứ 2 này có một số vấn đề ở payload. Tôi đã gặp một số bài như vậy và đã không sửa được
Thêm một cái nữa là cái JWT thứ 1 đang lồng vào biến token ở trong JWT thứ 2

Tôi nhận ra nếu ta sửa JWT thì nó sẽ hiện lỗi luôn và không truy cập được. Vậy bây giờ phải làm sao đây nhỉ ?
Sau khi uống ngụm nước và suy nghĩ thì tôi nhớ ra là trong Burp Suite có cái chỉnh sửa JWT
Chúng ta cần tải nó để có thể chỉnh sửa JWT một cách dễ dàng nhé
Tôi sẽ qua tab Repeater và vô JSON Web Token chỉnh sửa
Tôi sẽ chỉnh user thành admin

Và tôi cũng nhận lại lỗi y chang như vậy. Lúc này hơi buồn rồi

Sau khi đọc một số bài viết trên google thì tôi nhận ra mình cần chỉnh sửa cái alg thành none nữa
Tôi gửi nó và nhận được flag

Cảm ơn mọi người đã đọc writeup của mình. Chúc mọi người thành công.
nvqofficialdev