Error Based SQL Injection: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
(7 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
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 | 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ückgegeben werden, zu nutze macht.¹) ²) | ||
Durch das Senden von ungültigen Eingaben an die Datenbank werden Fehlermeldungen erzwungen. | Durch das Senden von ungültigen Eingaben an die Datenbank werden Fehlermeldungen erzwungen. | ||
Zeile 10: | Zeile 10: | ||
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. | 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. | ||
Die Error Based SQL Injection ist neben der Blind- und Union SQL Injection | Die Error Based SQL Injection ist neben der [[Blind SQL Injection|Blind]]- und Union SQL Injection eine der am häufigsten verwendeten Angriffsmöglichkeiten auf Datenbanksysteme. | ||
Wird eine Abfrage mit zwei verschachtelten Queries (z.B. SELECT + GROUP BY über spezifische Spalte) abgesetzt, um an Fehlermeldungen zu gelangen, spricht man in diesem Fall auch häufig von einer sogenannten Double Query SQL Injection statt einer Error Based SQL Injection³. | |||
Quellen: | |||
¹) Buch von Justin Clarke „SQL-Injektion“ (Clarke, Justin. SQL Hacking . München, Germany: Franzis Verlag | |||
GmbH,2016. 978-3-645-60466-6 | |||
²) https://medium.com/@hninja049/example-of-a-error-based-sql-injection-dce72530271c | |||
³) https://skytale.academy/it-sicherheit-wiki.html |
Aktuelle Version vom 9. Februar 2022, 20:53 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ückgegeben 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.
Die Error Based SQL Injection ist neben der Blind- und Union SQL Injection eine der am häufigsten verwendeten Angriffsmöglichkeiten auf Datenbanksysteme.
Wird eine Abfrage mit zwei verschachtelten Queries (z.B. SELECT + GROUP BY über spezifische Spalte) abgesetzt, um an Fehlermeldungen zu gelangen, spricht man in diesem Fall auch häufig von einer sogenannten Double Query SQL Injection statt einer Error Based SQL Injection³.
Quellen:
¹) Buch von Justin Clarke „SQL-Injektion“ (Clarke, Justin. SQL Hacking . München, Germany: Franzis Verlag GmbH,2016. 978-3-645-60466-6 ²) https://medium.com/@hninja049/example-of-a-error-based-sql-injection-dce72530271c ³) https://skytale.academy/it-sicherheit-wiki.html