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