Impostiamo il Security Level a Easy ed entriamo in "SQL Injection".
La differenza rispetto a "SQL Injection", è che in "SQL Injection (Blind)", non viene riportato l'errore causato da una malformazione del parametro di input.
È meglio cominciare con la versione non blind, per poter osservare eventuali errori.
Cominciamo inserendo un campo intuitivamente conforme a ID (un numero piccolo), come 1.
In ouput viene visualizzato qualcosa.
Proviamo ora ad inserire dei caratteri non alfanumerici.
Provando con ', otteniamo un errore.
Abbiamo scoperto che il form è vulnerabile a SLQ Injection. Cosa possiamo farci?
Se siamo "fortunati" e anche lo script di elaborazione dei risultati è fatto male, possiamo ad esempio pensare di ottenere le informazioni su tutti gli utenti.
Possiamo intuire la struttura della query:
Ipotizziamo la prima e proviamo a costruire questa query:
SELECT * FROM tabella WHERE ID = 1 OR 1;
Mettiamo nel form "1 OR 1", ma non otteniamo il risultato voluto, allora probabilmente è la seconda forma. Proviamo a mettere nel form "1' OR '1' = '1", in modo da ottenere:
SELECT * FROM tabella WHERE ID = '1' OR '1' = '1';