Lo script veniva incluso di default in alcuni web server (soprattutto NCSA httpd 1.5 ed Apache 1.0.3) durante gli anni 90 e soffriva di una vulnerabilità che consentiva l'esecuzione di codice remoto sul sistema ospite.
Lo script utilizzava la funzione escape_shell_cmd() per verificare i dati in ingresso ma purtroppo la procedura di validazione dell’input non riusciva a rilevare il carattere di ritorno a capo (“++”, o “0x0a” in esadecimale).
Di conseguenza questo carattere particolare poteva 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 incriminato.
In questo modo diventava possibile fare qualsiasi, cosa come ad esempio ottenere il file delle password.
Fu uno dei bug più semplici da sfruttare nella storia delle web application.
Nessun commento:
Posta un commento