Ecco una tecnica usata per appropriarsi di siti senza conoscere user e pswd, la SQL INJECTION non è che un’iniezione di codice "malevolo" in un database di tipo MySQL, tramite un attacco di questo tipo, e con stringhe ben pensate è abbastanza facile avere l’accesso non autorizzato con pieni poteri Admin su un’applicazione web che ricordo, supporta il database di tipo MySQL.
Prendiamo ad esempio una qualsiasi pagina di login, è strutturata da 2 campi:
1) Campo dell' Username (o login, nome, ecc)
2) Password
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 quindi a inserire una stringa ben strutturata, stiamo attenti alla posizione degli 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'
Guardiamo 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