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?