###################################################################### Luigi Auriemma Applicazione: Blazix (http://www.blazix.com) Versione: 1.2 e precedenti Bug: Errata gestione dei files richiesti con alla fine alcu- ni caratteri "speciali" Date: 24 Aug 2002 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ###################################################################### 1) Introduzione 2) Bug 3) Il Codice 4) Fix ###################################################################### =============== 1) Introduzione =============== Blazix e' un webserver commerciale totalmente scritto in Java. Possiede alcune caratteristiche come l'Ejb server (porta 2050) e il server di amministrazione (porta 3010) per cambiare alcuni parametri e per fermare o riavviare il webserver. Alcune funzioni di questo server sono: l'uso dei Servlets 2.3, ION, JMS, il supporto per l'invio di e-mail, gestione del cluster, ricari- camento delle classi, creazione automatica delle chiavi Ejb primarie, supporto al Virtual Hosting e molto altro. ###################################################################### ====== 2) Bug ====== Il bug che voglio descrivere e' uno dei piu' diffusi problemi nelle applicazioni odierne. E' il problema che hanno le API di alcuni sistemi operativi nel gesti- re l'apertura dei files senza controllare alcuni caratteri che possono essere aggiunti alla fine dei loro nomi. In Blazix questi caratteri "particolari" sono '+' e '\' (NO %2b e %5c). Con questo bug possiamo vedere tutti gli script e gli eseguibili sul server e, piu' pericoloso, abbiamo accesso libero a tutte le directory protette da password. Attenzione in quanto la versione 1.2.1 (rilasciata solo per un paio di giorni) e' ugualmente affetta dal bug dell'accesso alle directory pro- tette da password (solo il bug inerente la visione dei file jsp e' stato corretto in questa release). ###################################################################### =========== 3) The Code =========== A] Alcuni esempi per vedere i file jsp: http://SERVER/jsptest.jsp+ http://SERVER/jsptest.jsp\ B] Accesso libero alle cartelle protette (bugtest e' una cartella che ho creato e protetto con password): http://SERVER/bugtest+/ http://SERVER/bugtest\/ In caso non si avesse una cartella protetta si possono seguire veloce- mente questi semplici passi: a) creare una nuova cartella in webfiles chiamata bugtest b) copiare webfiles\index.html in webfiles\bugtest\index.html c) aggiungere "role.user.url: /bugtest/*" nel file web.ini d) chiudere e riavviare il webserver per caricare le nuove imposta- zioni ###################################################################### ====== 4) Fix ====== Il team di Blazix ha patchato il server e per vedere la vera versione basta controllare il file Readme.txt nella directory di Blazix (e' l'UNICO posto in cui ci sia scritta la reale versione). Blazix 1.2.2 puo' essere prelevato dalla sua homepage: http://www.blazix.com ######################################################################