SQL Injection

SQL Injection ist ein Angriff, bei dem schädlicher SQL-Code in Eingabefelder eingeschleust wird.

Der Code wird von der Anwendung ausgeführt und kann Datenbanken kompromittieren oder umgehen.

Important

SQLi-Arten:

  • Classic SQLi (direkter Code)
  • Blind SQLi (boolean/time-based)
  • Union-based SQLi
  • Error-based SQLi
Example

Verwundbare Abfrage:

SELECT * FROM users 
WHERE username = '$input'

Angriff: admin'; DROP TABLE users; --

Warning

Schutzmaßnahmen:

  • Prepared Statements verwenden
  • Input Validation
  • Least Privilege Prinzip
  • Web Application Firewall