• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida XXE Injection.

Aatrox

Utente Normale
Autore del topic
16 Agosto 2015
72
0
Miglior risposta
0
Salve a tutti,

Non avendo niente ma niente da fare poiché il lavoro porta via molto tempo (solo la mattina fortunatamente) farò un'altra guida.

//Negli spoiler sono incluse delle immagini.


Introduzione teorica
L'abbreviatura XXE sta per Xml External Entity, in codesta tipologia di attacco adopereremo quest'entità per leggere file ( Maggiormente ), eseguire comandi, DOS o, in alcune versioni, caricare file.


Perché si definisce Injection? Non ci sono solo le Injection SQL?
Se una SQLi è in funzione via SQL, una XXE funziona tramite comandi xml.


Come trovare siti vulnerabili?
Ho individuato in rete un dork: allinurl:skin/frontend, una volta trovato un sito cambiare il skin/frontend in /api/xmlrpc.


In che modo trovare una vulnerabilità su un sito specifico?
Utilizzare il seguente dork: site:site.com inurl:xmlrpc ( Sostituire site.com con il proprio sito )


Procedura operativa (Error based)
Dopo aver scovato il proprio target iniziamo a verificare se quest'ultimo è vulnerabile, tramite l'utilizzo dei tag <methodName> e <methodCall> che richiamano, in generale, ad un metodo xml.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Se il sito sarà vulnerabile ci arriverà un errore del genere:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

http://s15.postimg.org/4is3ee3qz/image.png [ /IMG]



Sapendo che c'è la possibile di eseguire comandi proviamo a leggere il file /etc/passwd tramite la funzione file://

[CODE]<!DOCTYPE a
<!ENTITY guida SYSTEM "file:///etc/passwd" >
]>
<methodCall><methodName>&guida;</methodName></methodCall>[/CODE]

[IMG]http://s15.postimg.org/uamlv2ph7/image.png

Ora,per leggere gli altri file dobbiamo muoverci nella directory principale.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

image.png



Vi arriverà un errore in base64, se lo decrypterete otterrete importanti informazioni riguardo il target. ( In questo caso era un target WordPress ) quindi, sapendo che il file di config di wordpress è wp-config.php proviamo ad ottenerlo.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

image.png

image.png




Avremo un altro codice in base64, decriptandolo otterremo finalmente ciò che ci interessa:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

image.png



spero sarà d'aiuto a qualcuno (molto probabilmente) e spero vi sia piaciuta.


Cordiali saluti,
Aatrox

Fonte : Inforge
 
Ultima modifica da un moderatore:
Saluti Evocatore,
Grazie per avere condiviso con noi questa novità. Molti altri evocatori non ne sapevano neanche dell'esistenza.

Saluti,
Rito Games, vinny.

Ahah, scherzo, bravo per la condivisione.

Inviato dal mio LENNY utilizzando Tapatalk
 
Saluti Evocatore,
Grazie per avere condiviso con noi questa novità. Molti altri evocatori non ne sapevano neanche dell'esistenza.

Saluti,
Rito Games, vinny.

Ahah, scherzo, bravo per la condivisione.

Inviato dal mio LENNY utilizzando Tapatalk
Grazie, mi era venuto in mente di fare qualcosina a livello di sicurezza bancaria visto che lavoro anche in un settore ideale, ma sono indeciso quindi valuterò con il tempo.
 
  • Like
Reactions: 1 person