italia.it, la form dei sogni
Bene, entrate (se ci riuscite in tempi brevi) nella schermata principale del portale dopo aver saltato i due flash (!) e scelto la lingua (!!), prendete la prima form che vi capita , per esempio DOVE DORMIRE, nel campo DESTINAZIONE inserite il presente codice:
“<script>alert(’ciao bello’);</script>”
premete ricerca et voilà, un bell’alert javascript vi poppa davanti.

PERFETTO! a voi le sfaccettature
PS forse di soldi ne chiederò di piu’ indietro ;DD


Interessante, ma…con che browser hai provato?
Io Safari (on Mac) e Firefox (on Linux), e non ottengo quel comportamento.
Commento da Nemo — 23 Febbraio 2007 @ 4:35 pm
FIREFOX su windows, con gli altri non ho provato.
che stringa metti dentro?
adesso non ho tempo di riprovare, ma sicuramente ci stanno lavorando di brutto dato che molte cose sono cambiate da ieri a oggi. Magari hanno parsato. Dopo riprovo. ciao
UPDATE:
in effetti non si riproduce più l’errore. Stanno correggendo. Filtrano le query.
Meno male che ci siamo noi a fare il BETATESTING!!
riciao
Commento da ramos — 23 Febbraio 2007 @ 4:48 pm
Che tristezza, mettere un sito online senza un minimo di testing.
E poi che schifezza di CMS è che non applica filtri ai dati in POST da solo? E’ orripilante tutto ciò.
Commento da Nemo — 23 Febbraio 2007 @ 11:59 pm
Non vorrei dire, ma anche le GET sono apertissimi. E il problema dei ‘ si agira usando “.
Provate:
http://www.italia.it/it/scout/accs/5,it,SCH1,2035/season,at1,selectedEntry,home/result.html;jsessionid=0a964fcb30d60e648945be594277a2ec8ce0dfcb1fe8.e38Mb3mQb3qMc40LbhaLbxeNahiQe6fznA5Pp7ftolbGmkTy?ref=5&jse=1&sbe=0&rls_chd=false&clk=http%3A%2F%2Fwww.italia.it%2Fit%2Fguide%2F5%2Cit%2CSCH1%2FobjectId%2CRGN8it%2Cseason%2Cat1%2CselectedEntry%2Chome%2Fhome.html&r=RGN8it&startRegion=&rlsq=%3Cscript%3Ealert%28%22Siamo+noi+che+controlliamo+il+tuo+computer+ormai!\nPentite+e+sarete+perdonate!%22%29%3B%3C%2Fscript%3E&ac=&an=&accsearch.x=14&accsearch.y=8&accsearch=accsearch
Non ho nemmeno voglia sperimentare col SQL injection… non sembra nemmeno divertente.
Commento da Old Jacques — 24 Febbraio 2007 @ 12:41 am
basta sostituire l’apice singolo con le virgolette doppie.
roba da matti!
http://www.italia.it/it/scout/accs/5,it,SCH1,2035/season,at1,selectedEntry,home/result.html;?ref=5&jse=1&sbe=0&rls_chd=false&clk=http%3A%2F%2Fwww.italia.it%2Fit%2Fguide%2F5%2Cit%2CSCH1%2FobjectId%2CRGN8it%2Cseason%2Cat1%2CselectedEntry%2Chome%2Fhome.html&r=RGN8it&startRegion=&rlsq=%3Cscript%3Ealert%28%22Chi+parla+male+del+nostro+sito+verrà+punito!\nNoi+possiamo+sapere+chi+sei!\nIndirizzo+ip+registrato+e+archiviato.%22%29%3B%3C%2Fscript%3E&ac=&an=&accsearch.x=14&accsearch.y=8&accsearch=accsearch
non viene nemmeno la sfida di provare con SQL injection.
Commento da Old Jacques — 24 Febbraio 2007 @ 12:54 am
Hai ragione, se metti “ciao bello” al posto di ‘ciao bello’ dentro lo script il popup esce ancora alla grande.
he he poveracci quei quattro gatti che ci staranno lavorando giorno e notte, magari sottopagati…(forse senza magari)
PS ma quello che hai messo nel link allegato è una minaccia o era il tuo test?
“Chi+parla+male+del+nostro+sito+verrà+punito!\nNoi+possiamo+sapere+chi+sei!\nIndirizzo+ip+registrato+e+archiviato”
Nel caso di minacce non c’è nulla da nascondere, con tutto quello che si dice in giro in questi due gg!!
maddai
Commento da ramos — 24 Febbraio 2007 @ 1:28 am
solo una prova per mostrare che non controllano tra variabili GET (che non dovrebbero c’entrare con la ricerca) e POST (usato dal FORM del sito), per cui si riesce “nascondere” abbastanza facilmente nell’URL già illegibile del suo un messaggio qualsiasi per fare divertire amici parenti e conoscenti…
Mandi un link all’amico e cliccandoci poppa su “Benvenuto Mario, ti stavo proprio aspettando…”. Le possibilità sono infinite.
Commento da Old Jacques — 24 Febbraio 2007 @ 10:15 am
@Old Jacques: grazie, è chiaro.
Sai se qualcuno ha fatto test su sql injection o se da quella parte per lo meno siamo sicuri?
Non sai come mi rodono gli amici esteri che mi pigliano per il c… a manetta…
Commento da ramos — 24 Febbraio 2007 @ 10:45 am
Non ho idea di nessuno che abbia “provato” l’SQL injection, in quanto risultarebbe chiaramente un tentativo (illegale) di intrusione informatica, e non avrei nemmeno voglia testare per vedere se ci siano buchi o meno, in quanto a quel punto diventerei pure io hacker “fuorilegge”.
Vista la leggerezza con cui vengono trattati le differenze POST e GET, dalla mia umile esperienza passata, c’è buona probabilità che qualche buco potrebbe essistere anche lato SQL, o almeno essiste la possibilità che lo staff tecnico non abbia avuto l’accortezza di testare in maniera esaustiva eventuali input “non conformi”.
Esperto di sicurezza non sono, ma essendo stato “punto” un paio di volte negli anni da “vespe informatiche”, tendo temere sempre il peggio e cercare proteggere a priori da problemi.
Commento da Old Jacques — 24 Febbraio 2007 @ 1:55 pm
@Old Jacques: concordo. Purtroppo temo la leggerezza che aleggia in tutto questo progetto.
Di certo non mi sogno di trasformarmi in “fuorilegge” per testarlo … almeno quello lo testino loro, dato che di Betatesting ne abbiamo già fatto fin troppo.
E manco ci pagano ;D
Commento da ramos — 24 Febbraio 2007 @ 2:48 pm
A chi non funziona, provi a sostituire il valore del parametro “scope” passato sulla URI con:
“>alert(’YaBaDaBaDoOoO’);alert(’YaBaDaBaDoOoO’);alert(’YaBaDaBaDoOoO’);Come sono stati spesi i soldi?MaleMalissimo
Commento da shima — 26 Febbraio 2007 @ 10:23 am
@shima: grazie, l’esempio sul tuo sito è lampante.
Cosa penserebbe un utente standard che non si interessa di informatica vedendo questo sul portale?
Commento da ramos — 26 Febbraio 2007 @ 1:53 pm