La SQL Injection e nella OWASP Top 10 da anni. In questa guida imparerai come funziona e come difendersi.
Come funziona
// VULNERABILE
$query = "SELECT * FROM users WHERE username = '" . $username . "'";
// Se username = ' OR '1'='1
// Restituisce tutti gli utenti!Tipi di SQLi
- In-band - dati nella risposta HTTP
- Error-based - sfrutta messaggi di errore
- Blind - inferisce senza vedere i dati
- Time-based - usa ritardi per capire
SQLmap
sqlmap -u "https://sito.com/page?id=1"
sqlmap -u "https://sito.com/page?id=1" --dbs
sqlmap -u "https://sito.com/page?id=1" -D db -T users --dumpDifesa
// SICURO - prepared statements
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);Conclusione
I prepared statements eliminano completamente questa classe di vulnerabilita.
💬 Commenti (0)
Nessun commento ancora. Sii il primo!