Ultimamente ci sono stati molti episodi di attacchi informatici a vari siti, a partire dal noto caso di Sony, di cui credo si sia perso il conto dei siti compromessi.
The Hacker News segnala un errore nel sito di CNN che sono riuscito a riprodurre senza problemi.
Se si visita l’URL http://cgi.money.cnn.com/tools/collegecost/collegecost.jsp?college_id='7966
(notare l’apicino) esce il bel messaggio d’errore
ERROR! SELECT G.NAME, G.STATE_CODE, G.CITY, E.TUIT_OVERALL_FT_D, E.TUIT_AREA_FT_D, E.TUIT_STATE_FT_D, E.TUIT_NRES_FT_D, E.FEES_FT_D, E.RM_BD_D, E.RM_ONLY_D FROM COLLEGE_EXPENSES E, COLLEGE_GENERAL G WHERE G.INUN_ID = '7966 AND G.INUN_ID = E.INUN_ID (+) ORDER BY E.ACAD_YR DESC java.sql.SQLException: ORA-01756: quoted string not properly terminated
e la videata riprodotta a qui sopra.
Questo non è un sofisticato attacco di un esperto programmatore contro un sito dotato di tutte le normali difese che il buon senso richiede.
Si tratta, invece, del più banale degli esempi di SQL Injection, così ovvio che è citato nella Wikipedia.
Come narra la cronaca, la maggior parte degli attacchi contro vari siti ha avuto successo non perché portati da gente esperta, ma perché c’era una porta lasciata colpevolmente aperta che attendeva solamente che qualcuno entrasse.
Un’ultima cosa: visualizzare all’utente trace e dettaglio degli errori in un ambiente di produzione non è la più furba delle idee.
Lascia un commento