####################################################################### Luigi Auriemma Applicazione: Surfboard webserver http://surfd.sourceforge.net Versioni: <= 1.1.8 Piattaforme: *nix Bugs: possibilita' di vedere files sul sistema remoto e consumo delle risorse Exploitation: remota/facile Data: 01 Dec 2003 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Dal sito web: "Surfboard e' un webserver insignificante scritto da Meredydd Luff." ####################################################################### ======= 2) Bugs ======= Directory traversal ------------------- Il webserver controlla il pattern dot-dot solo se c'e' un '?' nell'URI (usato per passare parametri ai server side scripts), quindi non c'e' una protezione per lo sfruttamento classico del directory traversal. Nota: fortunatamente il webserver non supporta l'indexing delle directories e la versione 1.0 non e' affetta da questo bug. Consumo di risorse ------------------ Il webserver usa uno strano metodo per leggere l'input del browser: legge ogni singolo carattere inviato finche' non riceve un line-feed (invio a capo). Sfortunatamente il webserver non effettua un controllo degli errori quindi se il client interrompe la connessione esso entrera' in un loop infinito ed il processo (il webserver usa fork()) non sara' mai terminato. ####################################################################### =========== 3) The Code =========== Directory traversal ------------------- http://server/../etc/passwd http://server/../../../etc/passwd Consumo di risorse ------------------ Connettersi al server con telnet o netcat e poi chiudere la connessione (senza inviare dati). ####################################################################### ====== 4) Fix ====== Versione 1.1.9 #######################################################################