RedTomahawk

In questo blog voglio mostrarvi una serie di attacchi che possono essere sferrati a voi o ai sistemi informatci aziendali. Il WWW è ormai diventata la strada digitale per eccellenza. Come nel mondo reale se gli edifici sono ben protetti potremmo sentirci sicuri all'interno delle nostre "mura domestiche", mentre se lasciamo le porte aperte, prima o poi qualcuno proverà ad entrare.

venerdì, gennaio 13, 2006

SQL injection

Quale metodo più diffuso ed efficace per ottenere un accesso ad un'area riservata di un sito web?
Ma � semplice: il SQL Injection!

Come la maggior parte dei buchi, anche questo è dovuto alla scarsa attenzione degli sviluppatori nel realizzare applicazioni WEB.

Come funziona?

Mettiamo caso di avere una pagina web con 2 moduli per l'inserimento di USERID e PASSWORD.
Per prima cosa dobbiamo verificare che non vengano fatti dei controlli di formato client-side. Una volta fatta questa verifica passiamo: al modulo USERID un nome qualunque, ad esempio: Admin.
Per il campo password invece abbiamo 2 possibilità:

  1. Password numeriche: nel caso il sito richieda una password numerica per l'autenticazione ci basterà inserire una stringa del tipo "1 OR 1=1". In questo caso lo script server-side si trover� ad eseguire una query del tipo:

    SELECT * FROM TABLE WHERE USERID = 'Admin' AND PASSWORD = 1 OR 1=1

    Se esiste un utente "Admin" otterremo l'accesso da amministratore al sito.


  2. Password alfanumeriche: nel caso il sito richieda una password alfanumerica per l'autenticazione ci baster� inserire una stringa del tipo " ' OR ''='' ".

    In questo caso lo script server-side si troverà ad eseguire una query del tipo:

    SELECT * FROM TABLE WHERE USERID = 'Admin' AND PASSWORD = '' OR ''=''

    Se esiste un utente "Admin" otterremo l'accesso da amministratore al sito.

Se non conosciamo l'USERID: ci basterà usare le prime 2 tecniche combinate su entrambi i campi.

Come risolvere il problema?
Semplice, basta eseguire un controllo di formato sulle stringhe inviate dai moduli HTML scartando quelle stringhe che abbiano spazi o apici.

0 Comments:

Posta un commento

Links to this post:

Crea un link

<< Home

Statistiche sito,contatore visite, counter web invisibile