Aggiornato al : lug 8, 2008



Negli esempi trattati negli articoli precedenti si è messo in evidenza come un possibile attaccante possa creare codice Javascript malevolo al fine di portare a termine attacchi come l’accesso ai coockies di sessione o il redirezionamento di una pagina web. In realtà tali esempi costituiscono solo una piccola fetta dell’insieme degli attacchi realizzabili mediante la tecnica del cross-site scripting, nonchè la meno dannosa.
Nelle successive serie di articoli , sul nostro speciale su XSS, verranno trattati altri esempi di attacchi che sottolineano la potenzialità del danno che può produrre un attacco XSS, in presenza di una vulnerabilità in una applicazione web.
Quando un attaccante vuole portare a termine un attacco web di cross-site scripting, la prima mossa è conoscere bene le abitudini della sua vittima. Normalmente ciascun utente del web tende ad accedere giornalmente ad un determinato sottoinsieme di siti, rispetto all’infinito numero di contenuti che il web offre.
Queste “abitudini” degli utenti costituiscono la cronologia delle pagine web più recentemente accedute.
L’obiettivo di un attaccante sta proprio nell’accesso a tale cronologia, alla ricerca di quelle applicazioni web in cui l’utente vittima è autenticato. Una volta note tali informazioni, l’attaccante può iniziare il trasferimento del proprio malware sui siti più frequentemente acceduti dall’utente o l’email spamming per attacchi non persistenti.
Uno dei possibili approcci adottabile per l’accesso alla cronologia è di tipo brute-force, ovvero è effettuato mediante un controllo esaustivo su un insieme di siti comunemente visitati dagli utenti web, per selezionare tra essi quelli a cui l’utente vittima accede quotidianamente. Ciò può essere ottenuto sfruttando, ancora una volta, il Document Object Model (DOM), che utilizza colori differenti
per distinguere i collegamenti già visitati.

Il processo è semplice: un attaccante scrive uno script che crea link dinamici a partire dalla lista dei siti web più popolari (disponibile anche in rete) e verifica, mediante la proprietà getComputedStyle di JavaScript/CSS, se essi sono stati visitati o meno dall’utente vittima, in base al loro colore. Lo script può variare in base al tipo di browser utilizzato, tuttavia il principio di funzionamento resta
invariato. Il risultato di tale algoritmo saranno le liste, rispettivamente, dei link visitati dall’utente vittima e di quelli mai acceduti. Un metodo analogo può essere utilizzato dall’attaccante per scoprire i termini di ricerca, e quindi le query, più frequentemente utilizzati dalla vittima. Ancora una volta, l’attaccante effettua un’analisi esaustiva sulle voci ricercate creando degli URL dinamici, aventi
struttura analoga a quelli generati dai più popolari motori di ricerca.

Articolo precedente -> Attacchi XSS DOM Based

Articolo Successivo -> Tecniche di XSS : Accesso Intranet

Autore : Simon. U



You may be the one to comment first. Please leave your message below.