Questo rappresenta un exploit storico per i sistemi Unix ed è basato su uno
script CGI di esempio chiamato appunto PHF che implementa un servizio di rubrica
telefonica basato su maschere.
Lo script utilizza la funzione
escape_shell_cmd() per verificare i dati in ingresso ma purtroppo la procedura
di validazione dell'input non riesce a rilevare il carattere di ritorno a capo
("++", o "0x0a" in esadecimale). Di conseguenza questo carattere particolare
può essere utilizzato per forzare la fine dell'esecuzione dello script e fare in
modo che il programma esegua, localmente sul server, tutto quello che segue il
carattere di ritorno a capo.
In questo modo diventa possibile fare qualsiasi cosa come ad esempio ottenere
il file delle password visitando la pagina: http://www.target.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd. O addirittura causare in particolari circostanze la restituzione di una shell
dei comandi remota.
Rimedi:
Rimuovere lo script dal server web.