Zum Hauptinhalt springen

Woche 7 — Web-Schwachstellen (OWASP Top 10)

Lernziele​

  • Die Logik jeder Kategorie des Top 10 verstehen, nicht auswendig lernen.
  • Burp Suite effizient im Interception- und Repeater-Modus einsetzen.
  • Einen sauberen Exploitationsnachweis schreiben: Anfrage, Antwort, Auswirkung.

Die Kategorien 2021 in je einem Satz​

KategorieKerngedanke
A01 – Broken Access ControlDie Anwendung erlaubt, was sie eigentlich verbieten sollte.
A02 – Cryptographic FailuresSensible Daten werden schlecht verschlüsselt oder im Klartext übertragen.
A03 – InjectionBenutzerdaten werden wie Code ausgeführt (SQL, LDAP, OS).
A04 – Insecure DesignEin Konzeptionsfehler, kein Codefehler.
A05 – Security MisconfigurationStandardwerte, Ausführlichkeit, fehlende Header.
A06 – Vulnerable and Outdated ComponentsNicht aktualisierte Abhängigkeiten.
A07 – Identification and Authentication FailuresSchwache Sessions, schwache Passwörter, fehlende MFA.
A08 – Software and Data Integrity FailuresKompromittierte Lieferkette.
A09 – Security Logging and Monitoring FailuresMan sieht nichts vorbeigehen.
A10 – SSRFDer Server lässt sich in interne Bereiche lenken.

Burp Suite in der Praxis​

  1. Firefox so konfigurieren, dass Burp als Proxy genutzt wird (127.0.0.1:8080), das Burp-Zertifikat installieren.
  2. Proxy → Intercept: eine interessante Anfrage abfangen (Formular-Absendung, API-Aufruf).
  3. Repeater: die Anfrage senden und wiederholt abschicken, dabei jeweils nur einen Parameter ändern.
  4. Intruder: parametrisierte Payloads. Immer nur einen Einfügepunkt gleichzeitig, um die Lesbarkeit zu bewahren.

Zwei Beispiele, die Sie beherrschen müssen​

SQL-Injection — wirklich verifizieren​

Sich nicht mit einem ' OR 1=1 -- begnügen, das „mehr Zeilen anzeigt". Durch eine kontrollierte Extraktion bestätigen:

GET /produits?id=42 UNION SELECT null, current_database(), null --

Die Antwort muss einen plausiblen Datenbanknamen enthalten. Ohne diesen Nachweis ist es nur eine Vermutung.

Gespeichertes XSS — konkrete Auswirkung​

Ein <script>alert(1)</script> beweist die Speicherung, nicht die Auswirkung. Die im Bericht erwartete Demonstration: ein Session-Diebstahl zu einem kontrollierten Endpunkt, oder eine erzwungene Aktion via fetch('/api/user/delete', {method:'POST', credentials:'include'}).

Beginn von TP2​

Sie wählen eine verwundbare Anwendung aus dem Labor (Juice Shop, DVWA oder gleichwertig). Abgabe für Woche 9:

  • Drei ausgenutzte Schwachstellen des Top 10, jeweils mit Anfrage, Antwort, Auswirkung.
  • Eine konkrete Behebungsmaßnahme pro Schwachstelle.