Zum Inhalt springen

Nächste Bootcamp-Ausgabe
4. Mai 2026

SQL-Injection

Ein Code-Injection-Angriff, der Schwachstellen in Webanwendungen ausnutzt, indem bösartige SQL-Anweisungen in Eingabefelder eingefügt werden, wodurch Angreifer Datenbanken manipulieren, auf nicht autorisierte Daten zugreifen oder administrative Operationen ausführen können.

Autor
Unihackers Team
Lesezeit
3 Min. Lesezeit
Zuletzt aktualisiert

Warum es wichtig ist

SQL-Injection gehört seit über zwei Jahrzehnten konstant zu den kritischsten Webanwendungsschwachstellen. Obwohl gut verstanden und vermeidbar, plagt SQLi weiterhin Anwendungen und ermöglicht Datenlecks, die Millionen von Datensätzen offenlegen.

Die Auswirkungen von SQL-Injection gehen weit über einfachen Datenzugriff hinaus. Erfolgreiche Angriffe können:

  • Gesamte Datenbanken einschließlich Passwörter und persönliche Informationen extrahieren
  • Daten modifizieren oder löschen und betriebliche Störungen verursachen
  • Authentifizierung umgehen und Benutzer imitieren
  • Befehle auf dem zugrundeliegenden Server ausführen
  • In interne Netzwerksysteme pivotieren

Einige der größten Datenlecks in der Geschichte resultierten aus SQL-Injection, einschließlich Vorfällen bei großen Einzelhändlern, Regierungsbehörden und Technologieunternehmen.

Für Sicherheitsexperten ist SQL-Injection ein grundlegender Kompetenzbereich. Penetrationstester müssen diese Schwachstellen identifizieren und ausnutzen; Entwickler müssen sicheren Code schreiben; und Security Engineers müssen Verteidigungskontrollen implementieren.

Wie SQL-Injection funktioniert

SQL-Injection tritt auf, wenn Benutzereingaben ohne ordnungsgemäße Validierung oder Bereinigung in Datenbankabfragen eingebaut werden:

Beispiel für anfälligen Code

anfaelliger-login.php
PHP

Angriffsausführung

sql-injection-angriff.txt
Text

Arten von SQL-Injection

In-Band SQLi

Ergebnisse werden direkt in der Anwendungsantwort zurückgegeben.

Union-basiert: Kombiniert Angreifer-Abfrageergebnisse mit legitimer Abfrageausgabe.

union-injection.sql
SQL

Fehlerbasiert: Extrahiert Daten durch Datenbankfehlermeldungen.

Blind SQLi

Keine direkte Ausgabe sichtbar; Angreifer schließen Ergebnisse aus Anwendungsverhalten.

Boolean-basiert: Unterschiedliche Antworten basierend auf wahr/falsch-Bedingungen.

boolean-blind.sql
SQL

Zeitbasiert: Verwendet Datenbankverzögerungen zur Informationsextraktion.

zeitbasiert.sql
SQL

Out-of-Band SQLi

Daten werden über externe Kanäle exfiltriert (DNS, HTTP-Anfragen).

Auswirkungen von SQL-Injection

Datenexfiltration

  • Benutzerzugangsdaten, persönliche Informationen, Finanzdaten extrahieren
  • Gesamte Datenbankinhalte dumpen
  • Auf Daten über mehrere Tabellen und Datenbanken zugreifen

Authentifizierungsumgehung

auth-bypass.sql
SQL

Datenmanipulation

  • Kontostände oder Berechtigungen modifizieren
  • Datensätze löschen oder Tabellen droppen
  • Bösartige Daten einfügen

Systemkompromittierung

  • Betriebssystembefehle ausführen (über xp_cmdshell usw.)
  • Dateien auf dem Server lesen/schreiben
  • In internes Netzwerk pivotieren

Präventionstechniken

Parametrisierte Abfragen (Prepared Statements)

Die primäre Verteidigung – trennt SQL-Code von Benutzerdaten.

sicheres-python.py
Python
sicheres-java.java
JAVA

Eingabevalidierung

  • Datentypen validieren (Integer erwartet, Strings ablehnen)
  • Erlaubte Zeichen whitelisten
  • Bekannte bösartige Muster ablehnen
  • Längenbeschränkungen validieren

Gespeicherte Prozeduren

stored-procedure.sql
SQL

Verteidigung in der Tiefe

  • Web Application Firewall (WAF) zur Erkennung von Angriffsmustern
  • Prinzip der minimalen Rechte für Datenbankkonten
  • Unnötige Datenbankfunktionen deaktivieren
  • Sensible Daten im Ruhezustand verschlüsseln
  • Regelmäßige Sicherheitstests und Code-Reviews

Testen auf SQL-Injection

Manuelle Tests

test-payloads.txt
Text

Automatisierte Werkzeuge

  • SQLMap: Automatisierte SQL-Injection-Erkennung und -Ausnutzung
  • Burp Suite: Webanwendungssicherheitstest-Plattform
  • OWASP ZAP: Open-Source Web-Scanner

Karriereverbindung

SQL-Injection-Expertise ist über Sicherheitsrollen hinweg wertvoll. Web-Anwendungs-Penetrationstester testen regelmäßig auf SQLi und nutzen es aus; Secure-Code-Reviewer identifizieren anfällige Muster; und Application Security Engineers implementieren Präventionskontrollen.

No salary data available.

Im Bootcamp

Wie wir SQL-Injection unterrichten

In unserem Cybersecurity-Bootcamp lernen Sie nicht nur SQL-Injection in der Theorie, sondern üben mit echten Tools in praktischen Labs, angeleitet von Branchenfachleuten, die diese Konzepte täglich anwenden.

Behandelt in:

Modul 10: Penetrationstests und Ethisches Hacking

Verwandte Themen, die Sie beherrschen werden:MetasploitNmapBurp SuitePrivilege Escalation
Sehen Sie, wie wir das unterrichten

360+ Stunden von Experten geleitete Ausbildung • 94% Beschäftigungsquote