SKIP TO MAIN CONTENT

[ EST. 2024 / INTERNATIONAL ]

SECURITY RESEARCH COLLECTIVE

SECURITY RESEARCH KNOWLEDGE TECHNIQUES
B3S/WRITEUPS/JWT-NONE-ALGORITHM-MEDIUM-WEB
← BACK TO ARCHIVE
EVENT: Cyberweek Africa Qualifiers 2026CATEGORY: WebPOINTS: 250 PTS

Jwt None Algorithm

AUTHORED BY:@bealthguy10/5/2026

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.16

No 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}