Ciao ragazzi mi sto un po' allenando con un sql injection con un sito creato da un mio amico per far pratica, però mi sto bloccando su questo:

Le informazioni sono passate in GET e quindi sono visibili nel url, ora il sito si presenta in questo modo:

.php?id=1 --> Ho visto aggiungendo un apice (') che il codice non è protetto, poichè il server automaticamente mi risponde con questa stringa:

query: SELECT * FROM ciao WHERE id = ''' LIMIT 0, 1 ;

Così facendo ho anche capito che non si tratta di un blind sql injection.

Così volendo stampare a video i nomi delle tabelle presenti nel database ho dato questo comando:

'UNION SELECT TABLE_NAME FROM information_schema.tables WHERE '1' = '1

e il sito mi risponde in questo modo:

query: SELECT * FROM ciao WHERE id = ''UNION SELECT TABLE_NAME FROM information_schema.tables WHERE '1' = '1' LIMIT 0, 1 ;

Così ho cominciato ad aumentare nella mia "UNION" in modo progressivo sempre di più le mie colonne prese in considerazione, fino a che nulla sempre il solito errore

Il sito di prova può essere violato con questo tipo di attacco e allora perchè non riesco? cosa c'è che non va nei miei passaggi?






Scritto da: rendertin in categoria PHP nella data 27-06-2015 01:50.