Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistrareRegistrare  Lista utentiLista utenti  GruppiGruppi  Connessione  

Condividere | 
 

 SQL injection

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
darkjoker
Admin
Admin


Numero di messaggi: 813
Data d'iscrizione: 30.07.07

MessaggioOggetto: SQL injection   Gio Dic 06, 2007 4: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

Tornare in alto Andare in basso
Vedere il profilo dell'utente
 

SQL injection

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 su1

Permesso del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Other :: Sicurezza-