Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistratiRegistrati  Lista UtentiLista Utenti  GruppiGruppi  Accedi  

Condividi | 
 

 SQL injection

Andare in basso 
AutoreMessaggio
darkjoker
Admin
Admin
avatar

Numero di messaggi : 813
Data d'iscrizione : 30.07.07

MessaggioTitolo: SQL injection   Gio Dic 06, 2007 6:24 pm

Ciao a tutti, in questo tutorial vorrei spiegare un attacco molto utilizzato e che colpisce principalmente i forum malorganizzati, ovvero la SQL injection.
Intanto, una breve (brevissima) spiegazione di cos' un database SQL: semplicemente un file che contiene (in maniera crittata o no) alcune informazioni, come il costro id e la vostra password di quando vi loggate, ad esempio, all'interno di un forum...
vi siete mai chiesti come funziona il procedimento che avviene dopo che inserite user e password e premete invio?
ve lo spiego, visto che sulla base di questo funzionamento si basa la SQL injection... praticamente viene effettuata una chiamata (denominata "query"), ovvero il codice PHP accede al database SQL e cerca se ci sono un user e un id uguali a quelli che avete inserito... se li trova allora il login OK, altrimenti vi dar qualche errore...
allora, vediamo bene com' questa query:

Codice:

SELECT * FROM database
WHERE userid = 'darkjoker'
AND password = 'we, mica te la dico...'

avete visto che cerca di trovare un userid uguale a darkjoker e una password uguale a ******** (non sono ancora rincoglionito... non ve la dico ancora...)... ma se invece della password usassimo qualche tecnicuzza che ci farebbe accedere???
analizziamo tutto:
l'username compreso tra apici (' e ') e la password pure...
vediamo ora come aggirare questa "protezione"...
se noi avessimo questa situazione...?

Codice:

SELECT * FROM database
WHERE userid = 'darkjoker'
AND password = 'capperi' OR '1' = '1'

ci siamo aiutati dei doppi apici nei quali inclusa la password e abbiamo inserito, come valore:
Codice:

capperi' OR '1' = '1
vediamo che la password puo essere capperi (non quella, per fortuna...) OR (che per chi non lo sapesse significa universalmente oppure) '1' = '1', quindi per essere accettata la password deve essere capperi oppure uno deve essere uguale a uno...
una delle due condizioni si realizza... indovinate quale...?
mettete la password come 1' OR '1' = '1 o come quella riportata sopra, o comunque una doppia condizione di cui almeno una deve essere vera... semplice, no?
avete visto che molto semplice entrare al posto di un altro utente... e se quell'utente si chiamasse Admin...? avrete capito che l'admin poco accorto se lo ritroverebbe... proprio l....
vi ricordo che queste tecniche non sono molto legali... se trovate un forum con questo bug avvisate subito l'Admin..non siate lamer...

_________________
L'unico computer sicuro, un computer spento.

Nel software esiste sempre almeno un bug, generalmente localizzabile tra la tastiera e la sedia

Torna in alto Andare in basso
Visualizza il profilo
 
SQL injection
Torna in alto 
Pagina 1 di 1

Permessi di questa sezione del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Other :: Sicurezza-
Vai verso: