Informatik Sicherheit – SQL-Injection und Schutz
Karteikarten zum Thema „Informatik“ · 14 Karten · von atrio. Beispiele: Was ist eine SQL-Injection? · Welche drei Hauptkategorien von SQL-Injection gibt es?
Karten
14 KartenWas ist eine SQL-Injection?
Rückseite
Ein Angriff, bei dem Angreifer schädlichen SQL-Code in Eingabefelder einschleusen, der vom Datenbankserver ausgeführt wird.
Welche drei Hauptkategorien von SQL-Injection gibt es?
Rückseite
In-band (Classic), Inferential (Blind) und Out-of-band SQL-Injection – je nach Datenrückkanal und Rückmeldung.
Wie funktioniert eine UNION-basierte SQL-Injection?
Rückseite
Der Angreifer nutzt UNION SELECT, um Ergebnisse einer zweiten Abfrage an die ursprüngliche Ergebnisliste anzuhängen und so Daten anderer Tabellen auszulesen.
Was unterscheidet Blind SQL-Injection von klassischer Injection?
Rückseite
Bei Blind SQLi liefert die Anwendung keine direkten Datenbankfehler oder Ergebnisse – der Angreifer schließt über Wahrheitswerte (Boolean) oder Zeitverzögerungen (Time-based) auf Daten.
Wie schützen Prepared Statements (Parameterized Queries) vor SQL-Injection?
Rückseite
Sie trennen SQL-Code strikt von Nutzerdaten: Die Datenbank kompiliert den Query-Plan vor der Parameterbindung, sodass Eingaben nie als Code interpretiert werden.
Warum reicht Input-Validierung allein nicht als Schutz?
Rückseite
Validierung kann komplexe Angriffe (z. B. encodierte Payloads) übersehen; sie ist Ergänzung, kein Ersatz für Prepared Statements.
Was bedeutet Least Privilege im Datenbank-Kontext?
Rückseite
Die Applikation verbindet sich mit einem DB-User, der nur minimale nötige Rechte (z. B. SELECT, INSERT) besitzt – kein DROP, ALTER oder Admin-Zugriff.
Wie verhindern ORMs (Object-Relational Mapper) SQL-Injection?
Rückseite
ORMs generieren intern parametrisierte Abfragen; rohe SQL-Strings werden vermieden, sofern Entwickler keine Raw-Queries nutzen.
Was ist eine Second-Order SQL-Injection?
Rückseite
Der schädliche Payload wird zunächst gespeichert (z. B. Benutzername) und erst später in einem anderen Kontext unsicher in einen Query eingebaut.
Welche Rolle spielt ein WAF (Web Application Firewall) bei SQL-Injection?
Rückseite
Ein WAF kann bekannte Angriffsmuster blockieren, aber keine unbekannten Varianten – er ist Verteidigungslinie, keine primäre Absicherung.
Wie erkennt man eine Time-based Blind SQL-Injection?
Rückseite
Die Anwendung antwortet verzögert (z. B. SLEEP(5)), wenn die injizierte Bedingung wahr ist – der Angreifer misst die Antwortzeit.
Was bewirkt der Payload ' OR '1'='1' -- in einem Login-Formular?
Rückseite
Er kommentiert den Passwort-Check aus und macht die WHERE-Klausel immer wahr – der Angreifer loggt sich als erster User (oft Admin) ein.
Welche Auswirkungen hat eine erfolgreiche SQL-Injection?
Rückseite
Datenverlust, -diebstahl, -manipulation, Authentifizierungs-Umgehung, Remote Code Execution (bei xp_cmdshell) und komplette Server-Kompromittierung.
Nenne drei Best Practices für sichere Datenbankzugriffe in Webanwendungen.
Rückseite
Immer Prepared Statements nutzen, Datenbank-User mit Minimalrechten einsetzen, Eingaben validieren und Ausgaben encodieren – Defense in Depth.