Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Real-life web-application Attack

No description
by

Alessandro Cingolani

on 2 July 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Real-life web-application Attack

Real-life exploitation of a web-application
Analisi di un attacco ad una Web-Application
Uno sguardo alla web-app
Che cos'è una
vulnerabilità?

Un punto debole del sistema che consente ad un eventuale aggressore di compromettere il livello di sicurezza dell'intero sistema.
Spiegazione di una vulnerabilità
Un uomo sta passeggiando nel bosco e trova a terra una lampada magica. La raccoglie e la lucida con la manica della giacca e subito ne viene fuori un genio. Il genio ringrazia l'uomo per averlo liberato e si offre di esaudirgli 3 desideri.
"
Per prima cosa
" dice l'uomo, "
voglio un milione di dollari
"
Il genio schiocca le dita e davanti a lui si materializza un forziere colmo di denaro.
L'uomo spalanca gli occhi sbalordito dallo stupore e continua :
"Ora voglio una Ferrari
"
Il genio schiocca le dita e da una nuvola di fumo compare una splendida Ferrari.
L'uomo continua : "
E per finire voglio che le donne mi trovino irresistibile
"
Il genio schiocca le dita e ...
.
L'uomo si trasforma in una scatola di
cioccolatini.
Analizziamo l'accaduto
Nell'ultimo caso il desiderio dell'uomo è stato eseguito (proprio come i precedenti) così come è stato espresso, e non come l'uomo intendeva.
Allo stesso modo un programma segue sempre le proprie istruzioni alla lettera e i risultati non sono sempre quelli che il programmatore intendeva.

I tre tipi di vulnerabilità analizzati
In questa dimostrazione utilizzeremo 3 tipi di vulnerabilità :
SQL Injection
Cross-Site Scripting
Cross-Site Request Forgery
Tutte sono presenti nella OWASP Top Ten
SQL Injection
Nella SQLi viene sfruttata l'inefficenza dei controlli nell'input in modo da inserire codice SQL maligno.
Cross-Site Scripting (XSS)
Un XSS permette ad un attaccante di inserire codice script arbitrario nella pagina.
Cross-Site Request Forgery (CSRF)
CSRF compare nei siti che sono progettati per ricevere richieste da un client senza che siano presenti meccanismi per controllare se la richiesta sia stata inviata intenzionalmente oppure no.
La web-app di esempio è un semplice sito di news con possibilità per gli utenti di registrarsi e mandarsi messaggi a vicenda.
Analizzando il sito osserviamo che alle pagine php vengono passati dei parametri; verifichiamo se sono presenti delle vulnerabilità SQLi nella pagina 'categories.php' ...
sqlmap ha indentificato la vulnerabilità e ha estratto la tabella user; le password sono però in md5, proviamo a decriptarle ...
Non siamo riusciti a decriptare la password dell'admin, in compenso però abbiamo quella di utente abilitato ad inviare messaggi agli amministratori. Sfruttiamola a nostro vantaggio ...
Notiamo che nella sezione di modifica del profilo non è presente alcuna protezione (CSRF), quindi teoricamente mandando una richiesta ad hoc con il cambio della password all'admin essa sarà eseguita ...

Quando l'admin aprirà il messaggio, il codice javascript eseguirà una richiesta POST e la password verrà cambiata con quella scelta.
Dopo aver testato che la pagina dei messaggi possiede una vulnerabilità XSS, sfruttiamola quindi per eseguire la richiesta POST all'interno dell'account dell'admin.

Created By
Alessandro Cingolani
&
Davide Meschini
A questo punto abbiamo le credenziali dell' amministratore del sito, con tutti i privilegi che ne conseguono.
Full transcript