Moltissima gente c'è rimasta male per il problema di sicurezza dell'autenticazione Form-based di ASP.NET.
Il fatto che con un \ al posto di / si potesse bucare un sistema di autenticazione usato dalla stragrande maggioranza dei siti ASP.NET è veramente inquietante.
Ma succede. "Shit happens" diceva qualcuno...
La sicurezza è un qualcosa che va ricercato sotto tantissimi punti di vista.
In questo caso chi era protetto da URLScan (incluso in IIS 6, nell'IIS Lockdown Tool o installabile singolarmente) ha scampato il pericolo (sempre che non abbia giocato troppo con la configurazione del tool...) ma non sempre va cosi.
Nella sessione di giovedì Raffaele ha mostrato una delle novità di ASP.NET 1.1 rispetto alla 1.0: la validazione automatica della request fatta dall'utente, per impedire la ricezione di codice HTML, script, etc...
Beh, pochi sanno che anche questa feature così utile era bacata, come si può vedere qui. Naturalmente il problema è già stato risolto da un pezzo, e la soluzione era disponibile sia nelle HotFix di ASP.NET, sia nel SP1 del .NET FW 1.1, ma il problema è un altro.
Il problema è che in un caso bastava un \ al posto di /, nell'altro caso bastava un %00 tra < e script...
Questo vuol dire che molto spesso si mettono su dei muri alti sei metri, impenetrabili, porte blindate, finestre corazzate e poi si lascia la chiave di casa sotto lo zerbino...
Non ce l'ho con i programmatori di ASP.NET (anche se fonti interne mi dicono che bevono tutti ), era solo per dire di stare attenti, attivare tutte le difese, ma a volte queste non bastano.
Non fidiamoci della protezione di ASP.NET punto e stop, usiamola, ma validiamo anche noi quello che ci serve, controlliamo che esista veramente un utente autenticato prima di dargli il contenuto della pagina, e soprattutto teniamo sempre occhi e orecchie aperte, e installiamo tutti i sistemi che possono aiutarci.
Anche URLScan, da me tanto decantato, potrebbe avere dei problemi in futuro, quindi non possiamo pensare di affidargli il compito di proteggerci come se fosse l'uomo ragno... Dobbiamo essere noi a proteggerci, leggendo i siti dedicati alla sicurezza, iscrivendoci alle mailing list che postano problemi e patch (ce ne sono anche in Microsoft), sfruttando siti come www.kbalertz.com, insomma facendo il possibile per tenere alta la guardia.
Ne va del nostro lavoro, ne va dei dati delle persone, ne va della credibilità...