Affrontiamo questa parte riguardante le applicazioni web 2.0 elencando semplicemente alcuni degli attacchi possibili in un'architettura Ajax e rimandiamo ad un nostro articolo Hacking di applicazioni Web 2.0 con Firefox per approfondimenti.
Gli attacchi in linea di massima sono gli stessi, con qualche differenza dovuta alla maggiore complessità logica e strutturale.
Attacchi Xss
Analogamente alle applicazioni web che non implementano Ajax, le applicazioni web 2.0 possono soffrire di questa vulnerabilità, l'approccio sarà diretto all'analisi delle chiamate XMLHttpRequest (XHR) e alla definizione di potenziali vettori d'attacco a livello di trasferimento asincrono dei dati.
"Avvelenamento" Xml (Xml Poisoning)
In molte applicazioni web 2.0, il flusso di dati transita sotto forma di xml da e verso il server e il client. È possibile tramite documenti xml appositamente malformati, interferire con il normale flusso da e verso il server per generare comportamenti inattesi (e tentare di accedere a dati sensibili) o interruzioni di servizio (per esempio con ricorsioni anomale nella struttura del documento xml).
Codice Ajax nocivo
Una delle caratteristiche delle tecnologie Ajax è di essere completamente trasparente all'utente finale. Questa caratteristica si può tradurre nella non consapevolezza da parte dell'utente dei potenziali pericoli ai quali potrebbe andare incontro.
Facciamo l'esempio di un utente che naviga in un sito (dove risulta autenticato) e arriva su una pagina appositamente creata dall'aggressore che, tramite chiamate Ajax "silenziose", riesce a recuperare informazioni sensibili riguardo alla navigazione dell'utente. L'utente non si accorge di nulla, ma la sua sicurezza viene compromessa.
Validazione ajax client side
Uno degli errori più gravi che uno sviluppatore può commettere, è quello di delegare a un controllo lato client la validazione degli utenti. Questo è un problema già affrontato, ma spesso l'utilizzo di framework riduce l'attenzione verso i meccanismi di controllo di accesso. L'analisi del flusso di dati, spesso ci permetterà di intercettare e manipolare le request di deboli meccanismi lato client.
Web Services / Soap
Le applicazioni che implementano Web service e chiamate Soap possono esser vulnerabili all'intercettazione e modifica del messaggio per provocare all'applicazione reazioni non previste.