Vulnerability Analysis and Attack Vectors
Vulnerability Analysis & Attack Techniques
Hier findest du praxisnahe Beschreibungen gängiger Webanwendungsschwachstellen sowie Hinweise, wann und wie sie in Penetrationstests relevant werden.
Local File Inclusion (LFI)
Beschreibung: LFI erlaubt es Angreifern, lokale Dateien auf dem Server auszulesen, wenn Dateipfade unzureichend validiert werden.
Typische Indikatoren: Dateiparameter wie ?page=
, ?lang=
, ?file=
Wann prüfen: Wenn du verdächtige Pfadparameter siehst oder eine Anwendung dynamische Inhalte aus Dateien lädt.
Spezialfall:
NTLM-Hash-Leakage via Responder: Bei Zugriff auf UNC-Pfade wie
\\attacker-ip\share
kann Windows eine Authentifizierung anstoßen, die Hashes preisgibt.
Remote File Inclusion (RFI)
Beschreibung: RFI erlaubt das Einbinden externer Ressourcen (z. B. Scripts), was oft zu Remote Code Execution (RCE) führt.
Wann prüfen: Wenn eine Anwendung externe URLs lädt oder Dateipfade ohne Whitelisting akzeptiert.
Broken Access Control (IDOR)
Beschreibung: Unsichere Objektreferenzen erlauben Angreifern, auf fremde Daten zuzugreifen, z. B. durch Manipulation von IDs in URLs.
Beispiel:
/account?id=111111 # legitim
/account?id=222222 # Zugriff auf fremdes Konto (ohne Auth-Zwang)
Wann prüfen: Bei jedem Parameter, der IDs, Benutzernamen oder Objekte referenziert.
Injection Attacks
Beschreibung: Wenn Eingaben direkt in Befehle übernommen werden, kann ein Angreifer durch gezielte Eingaben Befehle manipulieren.
Typen:
SQL Injection: Einschleusen in Datenbankabfragen
Command Injection: Einschleusen in Systemkommandos
Schutzmaßnahmen:
Allowlisting
Parametrisierte Queries (Prepared Statements)
Input-Validierung
Cross-Site Scripting (XSS)
Beschreibung: Schadcode (meist JavaScript) wird vom Opferbrowser ausgeführt, weil Eingaben unzureichend gesäubert werden.
Typen: Reflected, Stored, DOM-Based
Wann prüfen: Bei jeder Eingabe, die in die Antwort eingebettet wird (Kommentare, Suchfelder, URL-Parameter).
Fundamentals:
Kontextanalyse (HTML, JS, Attribute)
XSS-Fuzzing
Cryptographic Failures
Beschreibung: Mangelhafte oder fehlende Verschlüsselung führt zur Preisgabe sensibler Daten.
Beispiele:
Keine HTTPS-Verschlüsselung (Data in Transit)
Unverschlüsselte Speicherung (Data at Rest)
Typische Angriffe:
Man-in-the-Middle (MITM)
Session Hijacking
Unsichere Speicherung von Passwörtern, Kreditkarten o. Ä.
File-Based Attacks
Beschreibung: Flache Dateidatenbanken wie SQLite werden oft schlecht geschützt und direkt im Webroot gespeichert.
Risiko: Angreifer können die Datei herunterladen und lokal analysieren.
Analysebeispiel:
file example.db # Prüfung auf Dateityp
sqlite3 example.db # Öffnen im SQLite-Client
.tables # Tabellen anzeigen
PRAGMA table_info(...); # Struktur einsehen
SELECT * FROM ...; # Daten extrahieren
Ziel: Hashes, Kreditkartendaten, Benutzerinformationen auslesen → ggf. weiter mit Cracking.
Cloud-Schwachstellen: AWS S3
Beschreibung: Fehlkonfigurierte Buckets erlauben unbefugten Zugriff auf gespeicherte Objekte.
Wann prüfen: Wenn das Ziel AWS nutzt oder Hinweise auf Cloud-Infrastruktur vorhanden sind.
Typische Probleme:
Public Read/Write
Fehlende Authentifizierung
Authentication Bypass
Beschreibung: Schwächen in Authentifizierungsmechanismen erlauben es Angreifern, sich als andere Nutzer auszugeben.
Methoden:
Session Fixation
Unvalidierte Token
Default Credentials
Bypassing Content Security Policies (CSP)
Beschreibung: CSP sollen XSS verhindern – lassen sich aber häufig durch Fehlkonfiguration oder Umgehungstechniken umgehen.
Wann prüfen: Wenn XSS vermutet wird, aber keine direkte Ausführung möglich scheint.
HTTP Security Headers
Wichtige Header:
Content-Security-Policy
Strict-Transport-Security
X-Frame-Options
X-Content-Type-Options
Nutzen: Schutz gegen Clickjacking, MIME Sniffing, XSS, unsichere Verbindungen
Last updated