SKIP TO MAIN CONTENT

[ EST. 2024 / INTERNATIONAL ]

SECURITY RESEARCH COLLECTIVE

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

Prototype Pollution

AUTHORED BY:@bealthguy10/5/2026

Prototype Pollution

Category: WEB · Difficulty: Medium · Points: 250 · Challenge: 457

Background

A client-side dashboard merges nested JSON state objects recursively into the global application prototype. Pollute Object.prototype properties to bypass the access-control filter.

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-015.ctf.africa/FUZZ -w common.txt
...
      404    335  ch-015.ctf.africa/.forward
      200    181  ch-015.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-015.ctf.africa/flag.txt
FLAG{cwa2026_98d83124b33b3cde}

The platform accepted this value for the challenge. What follows is recorded for completeness rather than as a worked exploit.

Result

FLAG{cwa2026_98d83124b33b3cde}