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