2X-Service
This challenge revolves around an XML parser:
Notice that ElementInclude.include(root)
is used, which allows XInclude directives.
XInclude directives allow the parsing of files as either text
or xml
. For example, the following will include the contents of /etc/passwd
as part of the results.
However, the server checks that "text" not in xml.lower()
. This poses a problem, because parse="xml"
will raise an error when used with non-XML content like /etc/passwd
. To get around this, we can simply define XML entities, then combine them to form the string text
:
The flag was in the environment variable, so we read /proc/self/environ
to get
FLAG=TetCTF{Just_Warm_y0u_uP_:P__}
Last updated