Full path disclosure

Sentiero verde / Green pathFull path disclosure (letteralmente divulgazione del percorso completo) è una vulnerabilità di un sito tale per cui, in particolari condizioni di errore, viene rivelato il percorso completo della directory del server in cui si trovano i file di un sito.

Apparentemente potrebbe essere un problema minimale, ma è un dato che facilita molto la vita a chi vuole penetrare nel sistema utilizzando altri punti deboli di un sito.

Immaginiamo che ci sia un sito dinamico che carica le pagine in base ad un parametro passato nell’URL tipo

http://www.acme.bho/sito/dammilapagina.php?pagina=pippo

Un modo per forzare una condizione presumibilmente non prevista di errore è modificare l’URL in questo modo:

http://www.acme.bho/sito/dammilapagina.php?pagina[]=pippo

Cambiando, quindi, il tipo dato del parametro. Se non ci sono abbastanza controlli e se i parametri di visualizzazione degli errori non sono configurati correttamente, l’output dello script potrebbe essere uno di questi

Warning: opendir(Array): failed to open dir: No such file or directory in /var/www/DirectorySicura/html/dammilapagina.php on line 47
Warning: pg_num_rows(): supplied argument ... in /MieiSiti/acme.bho/pagine/dammilapagina.php on line 42

Un altro metodo per forzare la full path disclosure potrebbe essere quello di annullare la sessione tramite un JavaScript:

javascript:void(document.cookie="PHPSESSID=");

Che causerebbe un errore tipo

Warning: session_start() [function.session-start]: The session id contains illegal characters,
valid characters are a-z, A-Z, 0-9 and '-,' in d:\Internet\pubblica\acme\include\functions.php on line 3

Oltre a impostare i parametri di reportistica degli errori a zero o al minimo indispensabile, può venire in aiuto inspathx.

Questo tool ha bisogno di avere una copia locale del sito, che utilizza per verificare la versione online alla ricerca di eventuali errori di programmazione che potrebbero portare ad una full path disclosure. (via Darknet)

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

Spazio per un commento