Error Based SQL Injection: Unterschied zwischen den Versionen

Aus IT-Forensik Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Bei der Error Based SQL Injection (auf deutsch: fehlerbasierte SQL Injektion) handelt es sich um eine Variante der In-Band SQL Injection. Sie gilt als eine Sonderform der SQL Injection, da sie sich Fehlermeldungen (z.B. Stacktraces oder Error Messages), die ungeprüft bzw. ungefiltert durch eine Applikation, Datenbank und/oder Webserver an den User zurück gegeben werden, zu nutze macht.
Bei der Error Based SQL Injection (auf deutsch: fehlerbasierte SQL Injektion) handelt es sich um eine Variante der In-Band SQL Injection. Sie gilt als eine Sonderform der SQL Injection, da sie sich Fehlermeldungen (z.B. Stacktraces oder Error Messages), die ungeprüft bzw. ungefiltert durch eine Applikation, Datenbank und/oder Webserver an den User zurück gegeben werden, zu nutze macht.
Durch das Senden von ungültigen Eingaben an die Datenbank werden Fehlermeldungen erzwungen.


Diese an den Anwender zurückgegebenen Fehlermeldungen enthalten dann Informationen aus/über das zugrundeliegende DBMS, den Aufbau bzw. die Struktur der Datenbank, das Filesystem oder die Middleware/Applikation, die ein Angreifer auswertet und für seinen Angriff benötigt.
Diese an den Anwender zurückgegebenen Fehlermeldungen enthalten dann Informationen aus/über das zugrundeliegende DBMS, den Aufbau bzw. die Struktur der Datenbank, das Filesystem oder die Middleware/Applikation, die ein Angreifer auswertet und für seinen Angriff benötigt.

Version vom 26. Januar 2020, 14:13 Uhr

Bei der Error Based SQL Injection (auf deutsch: fehlerbasierte SQL Injektion) handelt es sich um eine Variante der In-Band SQL Injection. Sie gilt als eine Sonderform der SQL Injection, da sie sich Fehlermeldungen (z.B. Stacktraces oder Error Messages), die ungeprüft bzw. ungefiltert durch eine Applikation, Datenbank und/oder Webserver an den User zurück gegeben werden, zu nutze macht.

Durch das Senden von ungültigen Eingaben an die Datenbank werden Fehlermeldungen erzwungen.

Diese an den Anwender zurückgegebenen Fehlermeldungen enthalten dann Informationen aus/über das zugrundeliegende DBMS, den Aufbau bzw. die Struktur der Datenbank, das Filesystem oder die Middleware/Applikation, die ein Angreifer auswertet und für seinen Angriff benötigt.

Die Informationen reichen von einzelnen Tabellen/Spaltennamen bis hin zu vollständigen Zugangsdaten der Datenbank. Unter Umständen reicht ein einzelner dieser Angriffe, um eine komplette Datenbank zu listen oder im Falle des Erlangens von administrativen Zugangsdaten zur Übernahme der Datenbank.

Während der Entwicklung einer Applikation sind solche Fehlermeldungen - besonders beim Debugging - sehr hilfreich und erforderlich. In Produktiv-/Liveumgebungen sollte die Ausgabe von Datenbank-Fehlermeldungen deaktiviert werden oder das Logging von Fehlermeldungen in einen geschützten Bereich (z.B. zentrales Log-Management) bzw. systemseitig in zugriffsbeschränkte Log-Files protokolliert werden.