Scripts, Servlets, ISAPI: per un web più ricco e pericoloso

Alessio Ganci

Un’altra rivoluzione in campo Internet: gli script. Con questi i webmaster e gli amministratori web possono ampliare le funzionalità del loro sito. Si parte dalla possibilità di contare un numero di visite, di un determinato numero di clic su un elemento del sito (come un link) o di un determinato numero di downloads fino ad arrivare al redirect o alle pagine di login. Con gli script si può fare veramente di tutto. Esistono vari tipi di linguaggi di programmazione e formati di script: il PHP, che è una sorta di “Web Visual Basic”, il JSP, basato sul linguaggio Sun Java, il JavaScript (supportato sulla maggior parte dei browser web più conosciuti, ma non compatibile con altri), il VisualBasicScript (stessa compatibilità del JavaScript con solo alcuni browser web), l’ISAPI (Internet Service Application Programming Interface), che permette la creazione di particolari DLL (Dynamic Link Library) appositamente per il web (chiamate appunto DLL ISAPI), il Servlet, che è un tipo di applicazione web in Sun Java. Due esempi su che cosa si può ottenere con i web-script, in ambito di sicurezza informatica: Permettere il download di file. Sicuramente ci si chiederà perché permettere il download di file, facendolo transitare per uno script. Per esempio per contare il numero di clic, oppure per moderare lo scaricamento (ad esempio se il file in questione è a pagamento, ed/o è riservato a degli utenti registrati). Così, se si gestisce un giornale a pagamento on-line e si vuole limitare il download di file PDF a soli abbonati, si può creare una Servlet, come GetPDFServlet. Un esempio di uso di questa tecnologia si può osservare nei giornali on-line di Scitation, in cui vengono protetti i documenti PDF mediante GetPDFServlet. Questa protezione consiste nel caricare i documenti PDF online e rinominarli con estensione html, cambiando anche il nome, ottenendo il risultato uguale a “GetPDFServletxxxxhtml.html). Facendo così, si possono ottenere i documenti che inizino appunto con GetPDFServlet. A questo punto si “inocula” nei PDF del codice Servlet che permetta di eseguire il seguente ciclo: se si rileva il cookie di una login e se quest’ultima è dotata di abbonamento valido al giornale scelto, il PDF si rinomina con un nome appropriato e con la vera estensione e successivamente si fa scaricare, altrimenti devia alla pagina di accesso. La protezione è difficilmente violabile, perché nemmeno un bot riesce ad accedere al documento e viene deviato alla pagina di log-in. In pratica … ogni tentativo con ogni strumento è vano: la Servlet agisce, sia nel caso di un utente, sia nel caso di Google. Quindi … l’unico modo per “forzare” la Servlet è quello di trovare username/password … e perbacco … così è ovvio che funziona, però … vorrei trovare qualcuno che riesca a violare la login. Quindi in definitiva: che sia Servlet o che sia PHP/JSP o altro … poco cambia. L’importante è che la tecnica di protezione sia velenosa per i cracker. Creare un sistema di accesso (Log-In). Proprio sicuri che nessuno si sia mai chiesto come funzioni una login? Penso che qualcuno se lo sia chiesto, almeno una volta. Ebbene … la login non è altro che uno script (non di serie .js/.vbs che non sono adatti per via della poca compatibilità con browser web “stagionati” o con dei filtri attivi) che verifica dei dati di autenticazione e permette l’accesso al sito in un’area riservata. I dati di accesso sono memorizzati in un database .mdb ubicato in cartelle protette, accessibili solo dagli script nel sito, senza password o da utenti a conoscenza della password stessa.In definiva gli script possono offrire molte possibilità di ampliare il proprio sito web. Purtroppo, alcuni li utilizzano per creare un  codice maligno per lo spionaggio di dati.