githubEdit

Tanuki

Level: Easy Points: 10 Type: Daily Challenge

We have option to import decks

The thing that directly picks my eye is ability to import deck in XML format.

To gen an idea about the overall flow, I downloaded the provided sample json file and uploaded it.

Next, I tried to understand the XML import flow, for this I used deep seek to convert above json to XML

and it is successfully imported: Note: edit the file extension and content-type during upload

To make it easier to work with, I compacted the XML length, keeping card count to only one

From here I tried to use various XXE payload from https://hacktricks.wiki/en/pentesting-web/xxe-xee-xml-external-entity.htmlarrow-up-right

Default payload with <!DOCTYPE> gave some error which highlight, the backend XML parsers migh disable DTD processing by default because it's a major security risk. When DTD is disabled:

  • <!DOCTYPE> declarations are ignored or cause errors

  • External entities are never resolved

  • The parser essentially says "I see this, but I'm not allowed to process it"

To bypass this I used XInclude payload from https://hacktricks.wiki/en/pentesting-web/xxe-xee-xml-external-entity.html?highlight=xml#xincludearrow-up-right

What is XInclude?

XInclude (XML Inclusions) is a W3C specification that allows XML documents to include content from external sources. It's a separate feature from XML's DTD-based external entities.

Then I opened the imported dec

The payload works and loads the content of /etc/passwd [Flag is somewhere else]

after little of search, I found the flag in current directory

Last updated