Ottimizzazione sqlmap
Vedremo ora come ottimizzare la scansione in modo da ottenere in minor tempo il risultato desiderato. Specificando l'opzione "-o" diremo al programma di utilizzare:
- --keep-alive
usa connessioni HTTP persistenti - --null-connection
sfrutta le tecniche di NULL connection: Range ed Head - --threads
imposta automaticamente 3 threads se un valore più alto non è specificato
Tornando all'esempio precedente ed utilizzando le opzioni di ottimizzazione, il nostro comando diventerà:
sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -o -threads 10
Qualora avessimo già certezza della tipologia di database utilizzato è possibile specificarlo aggiungendo l'opzione:
--dbms MySQL
Tecniche
Come precedentemente accennato, SQLMap supporta ben 5 tecniche di SQL Injection. Di default vengono provate tutte durante la prima scansione. In alcuni casi è utile testare una o solo alcune di queste tecniche e per farlo si utilizza l'opzione "--technique" seguita dai valori:
- B: Boolean-based blind SQL injection
- E: Error-based SQL injection
- U: UNION query SQL injection
- S: Stacked queries SQL injection
- T: Time-based blind SQL injection
Il precedente comando diventerà dunque:
sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -o --threads 10 --dbms Mysql --technique BE
La seconda parte della guida a sqlmap verrà pubblicata il 7 febbraio 2012.