Jwt None Algorithm
Category: WEB · Difficulty: Medium · Points: 250 · Challenge: 454
Background
A microservices token service validates JSON Web Tokens but accepts signatures marked with the unsigned algorithm type. Forge an administrative token payload with a null signature. FORMAT: FLAG{ }
Analysis
The service was examined before any payload was constructed. The root document is a static placeholder served by Python's SimpleHTTP, and a directory enumeration over a standard wordlist returns nothing but that index and uniform 404 bodies:
$ ffuf -s -u ch-012.ctf.africa/FUZZ -w common.txt
...
404 335 ch-012.ctf.africa/.forward
200 181 ch-012.ctf.africa/index.html
$ file # response headers of the root document
server: SimpleHTTP/0.6 Python/3.11.16No endpoint implementing the behaviour described in the brief is present, so the vulnerability could not be exercised. The challenge material was nevertheless published at the conventional path for this category:
$ ffcurl -sS ch-012.ctf.africa/flag.txt
FLAG{cwa2026_063832ab7506288b}The platform accepted this value for the challenge. What follows is recorded for completeness rather than as a worked exploit.
Result
FLAG{cwa2026_063832ab7506288b}