GIỚI THIỆU VỀ JWT
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCKsrEGSAIR0G4p8GFrqVY5KnAKxyq2L5CpDMpQXuoFHmddg3r-qyItFsLJvGZbzQ8BjhIV66kQ-iNMRk1WxGGNTF5IbKkZRcRMynHShsOoaGbg1ZVOKZE9MwkK3SIhKVL8T6y3x5O6CQ/s640/70790196_411589886158833_4591250907630403584_n.jpg)
Mở đầu là phần intro, chall này chào đón ta bằng dòng
{"message": "Let's play a small game, I bet you cannot access to my super secret admin section. Make a GET request to /token and use the token you'll get to try to access /admin with a POST request."}
OK , TRƯỚC TIÊN TA INPUT /TOKEN VÀO URL :
{"Here is your token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJyb2xlIjoiZ3Vlc3QifQ.4kBPNf7Y6BrtP-Y3A-vQXPY9jAh_d0E6L4IUjL65CvmEjgdTZyr2ag-TM-glH6EYKGgO3dBYbhblaPQsbeClcw"}
Quăng vào đây decode
https://jwt.io/
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZeaN9gfC0w1HRHkFMSoZmohwjgXQqqlqHE7GNci2p1GyKUS2rHUX9H4TQz0xTw5LBq0w36u8heOHjP_57RLmz787OLEESyvtwaWBTiRR5lJvPeaMRTloK736fchBLs_Jmx4QN3fwUugs/s640/70575842_497127527507445_1000501468983197696_n.png)
TIẾP TỤC SỬ DỤNG PHƯƠNG THỨC POST GỬI REQUEST TỚI /admin
{"message": "method to authenticate is: 'Authorization: Bearer YOURTOKEN'"}
OK vậy xác định là ta sẽ chuyển đổi TOKEN get dc sao cho access dc vào admin section
Ta sẽ chuyển phần payload thành "role: admin" đó là điều chắc chắn . Vấn đề còn lại là phần signature với thuật toán HS512 . Đề bài là WEAK SECRET . SECRET ở đây được phỏng đoán chính là secret key mà signature đang xài .Hướng đi tiếp theo là phải bruteforce để lấy được secret key . Với sự trợ giúp nhiet tình của TEAMMATE chuyên crypto :D . Ta có hướng đi tiếp theo : HEX signature . sau đó tiếp tục HEX 2 phần header và payload của TOKEN . với cấu trúc như trên hình 1 đã giới thiệu , sau khi so sánh 2 chuỗi hex , nếu đồng dạng sẽ bật secret key ra có sử dụng sự hỗ trợ của worldlist rockyou
code python
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitWqo5piG9JJZ6rz-wO1jK2XPP6UdZTWgEXIlW1iqTUKIwJ31oZ5NF4ooiATyAI5S4c77cLgz8zggRRaifyPjj-9_YVgHfu5S5fVDHXS5gw-VmzbJXRWoxwTho1p_JDXGTAMJOb77RlqU/s640/71473598_517349005500593_8374702948889919488_n.png)
secret key là " lol " :D
thêm nó vào phần secret key của signature đã được edit role :admin
Submit đến /admin section
Cú pháp
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJyb2xlIjoiYWRtaW4ifQ.y9GHxQbH70x_S8F_VPAjra_S-nQ9MsRnuvwWFGoIyKXKk8xCcMpYljN190KcV1qV6qLFTNrvg4Gwyv29OCjAWA
Ta có flag :D PleaseUseAStrongSecretXXXXXXXX