venerdì 10 aprile 2009

Tecniche Hacker, SQL INJECTION Exploit, guadagnare l’accesso non autorizzato!

la SQL INJECTION, altro non è che un’iniezione di codice in un database MySQL, tramite un attacco di questo tipo, ovvero con stringhe ben congeniate è facilissimo avere l’accesso non autorizzato con pieni poteri Admin su un’applicazione web.



Prendiamo ad esempio una qualsiasi pagina di login, se nel campo “userid” si immette il valore Admin e nel campo “password il valore passprova, la nostra query SQL sarà:





SELECT * tabella_utenti


WHERE userid = 'Admin'

AND password = 'passprova'




Questo codice è esatto ma non offre la sicurezza necessaria, proviamo a inserire una stringa ben strutturata, stiamo attenti alla posizione degl’apici, ad esempio nel campo “password” andiamo ad inserire:


1' or '1' = '1


la query risultante è la seguente:


SELECT * FROM tabella_utenti


WHERE userid = 'Admin'

AND password = '1' OR '1' = '1'


E’ facile notare cosa è successo, la query SQL grazie all’operatore OR imporrà ‘1′ = ‘1′, dato che l’uguaglianza si è verificata ecco che abbiamo l’accesso al pannello amministrativo dell’applicazione web senza conoscere userid e password.

Nessun commento:

Posta un commento