martedì , Aprile 23 2024
Ultime Notizie
Home / Hacking & Sicurezza / Cross Site Scripting XSS : vediamo alcuni esempi

Cross Site Scripting XSS : vediamo alcuni esempi

Ciao Ragazzi,

oggi torniamo alle orgini…vediamo un po’ di nozioni di Hacking che ovviamente servono per difendersi e non per attaccare(lo so non sono convincente quando lo dico……..!!!)

Parliamo del Cross Site Scripting (XSS)

Per chi non lo conosce vi posso dire che è un insieme di tecniche che mirano a sfruttare delle vulnerabilità presenti nel codice HTML/JAVASCRIPT ma soprattutto dovute a chi interpreta queste pagine ovvero i nostri amatissimi Browser!

Queste pagine web, generalmente client-side, presentano delle malformazioni nel codice, ma non perchè chi le ha programmate non ha fatto un buon lavoro, semplicemente c’è stato qualcuno più furbo che ha capito come aggirare l’interprete di queste pagine ovvero il browser.

Prima di passare subito ai casi pratici vi faccio un esempio classico di SQL Injection ( che è un XSS relativo al linguaggio SQL):

sqlh_0613

In questo caso ho aggirato il codice SQL per ottenere l’accesso anche senza conoscere username o password.

Nel caso dell’XSS la cosa è molto simile, quello che bisogna fare è un buon debug delle pagine internet:

health1

Come vedere un questo caso inserendo un carattere non standard posso creare “casini” sul sistema che interpreta la pagina web.

Questi caratteri “speciali” o di “escape” forniscono delle vere e proprie porte di accesso al browser e quindi alla connessione che si crea tra client e server:

background_xss

Come potete notare in questo caso l’Attacker si “sostituisce” al browser del client per ingannare il server e quindi usarlo per capire diverse informazioni che possono essere cruciali.

Oggi vi presento un esempio semplicissimo, in realtà ne esistono diversi a secondo dei livelli di protezione alzati dai programmatori!

Useremo come test 2 siti:

1) http://it.eonline.com

2) http://www.paolodaniele.it

Mi sfido da solo!

Vediamo cosa succede se provo a forzare la stringa di ricerca del sito 1)

miao

Il sito “Miagola”…Se vedete adesso la barra degli indirizzi, capirete la mia XSS:

it.eonline.com/search?query=“; alert(‘Miao’); //

Avete visto la stringa utilizzata?

In questo modo quando il browser rigenera la pagina con il nuovo “indirizzo” che gli passo io esegue il codice di alert. e quindi compare il popup che “Miagola!”

Complichiamo leggermente le cose, andando a far scrivere qualche variabile Javascript codificata nel sistema:

xss

Nel secondo caso il cross script XSS è:

it.eonline.com/search?query=“; alert(JSON.stringify(model,null,4)); //

Dove model è una matrice definita nei sorgenti del sito.

In realtà tutte queste azioni sono state effettuate client-side, io devo insegnare a difendervi…ad attaccare ce ne sono già troppi che insegnano; ma il concetto  è simile con un po’ di “studio” sul sito web sarebbe possibile carpire informazioni di configurazione, dati di utenti e così via fino agli Hijack delle sessioni tramite cookie.

Ma….

Il sito 2) ?

Non l’ho dimenticato…

Ecco il risultato della seconda XSS sul mio sito web:

noxss

Nessun popup, alert o robe del genere.

Spesso non dipende solo dalla bontà del CMS usato, ma dall’accortezza di chi lo utilizza!!

Fate buon uso di queste informazioni programmatori!

Per chi fosse interessato ad approfondire l’argomento, vi consiglio le slide di Ashar Javed un vero Guru dell’XSS dove spiega anche come aggirare i browser moderni!

 

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi...) ma non disprezzo altri linguaggi all'occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Bug WordPress per fare Bruteforce Attack

Ciao Ragazzi, oggi mi sono imbattuto in un attacco ad un sito WordPress basato su …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *