Mi sono imbattuto in un metodo di exploit che non ho avuto il tempo di indagare prima. XML eXternal Entity è detto suscettibile di un tipo di iniezione lato server. Posso specificare una dichiarazione del tipo di documento ( DOCTYPE ) per definire la struttura di XML. All'interno di DOCTYPE posso definire entità e assegnare loro valori particolari. Quindi posso usare le entità nel codice XML e il parser le sostituirà con i loro valori.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE doc[
<!ENTITY pwd SYSTEM "file:///etc/passwd">
]>
<query>
<name>Kiuhnm</name>
<profession>&pwd;</profession>
</query>
Quindi nel qual caso riesco a leggere file arbitrari. La mia domanda è: è possibile creare una patch basata su XML o dovrei farlo a livello di server e non consentire la lettura dei file dall'esterno?