SKIP TO MAIN CONTENT

[ EST. 2024 / INTERNATIONAL ]

SECURITY RESEARCH COLLECTIVE

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

Xxe External Entity

AUTHORED BY:@bealthguy10/5/2026

Xxe External Entity

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

Background

A financial invoice processor parses uploaded XML payloads with external entity expansion enabled. Define a custom XML entity pointing to internal system resources to read local files. 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-014.ctf.africa/FUZZ -w common.txt
...
      404    335  ch-014.ctf.africa/.forward
      200    181  ch-014.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-014.ctf.africa/flag.txt
FLAG{cwa2026_eb2f9b09484b9509}

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

Result

FLAG{cwa2026_eb2f9b09484b9509}