OWASP Top 10 mit praktischen Beispielen erklärt

Security2026-09-11TryQuickToolBox

Jedes Jahr werden Tausende von Webanwendungen aufgrund derselben wiederkehrenden Sicherheitslücken kompromittiert. Die OWASP Top 10 ist ein Standard-Aufklärungsdokument, das die kritischsten Sicherheitsrisiken für Webanwendungen auflistet. In diesem Artikel gehen wir jedes Risiko durch, zeigen ein praktisches Beispiel und erklären, wie man es entschärfen kann. Ob Sie Entwickler, DevOps-Ingenieur oder Sicherheitsenthusiast sind – das Verständnis dieser Risiken ist entscheidend für den Aufbau sicherer Systeme.

1. Broken Access Control

Broken Access Control tritt auf, wenn Benutzer außerhalb ihrer vorgesehenen Berechtigungen handeln können. Beispielsweise könnte ein Benutzer auf die Daten eines anderen Benutzers zugreifen, indem er einen URL-Parameter ändert.

Beispiel: Eine Anwendung verwendet /api/user/123, um Benutzerdaten abzurufen. Wenn nicht überprüft wird, ob der angemeldete Benutzer tatsächlich Benutzer 123 ist, kann ein Angreifer die ID auf /api/user/124 ändern und das Profil einer anderen Person einsehen.

Gegenmaßnahme: Implementieren Sie serverseitige Zugriffskontrollprüfungen. Standardmäßig verweigern. Verwenden Sie rollenbasierte Zugriffskontrolle (RBAC) und validieren Sie Berechtigungen bei jeder Anfrage.

2. Kryptografische Fehler

Früher als „Sensitive Data Exposure“ bekannt, beinhaltet dieses Risiko das Versäumnis, sensible Daten während der Übertragung oder im Ruhezustand zu schützen.

Beispiel: Speichern von Passwörtern im Klartext oder Verwendung schwacher Hash-Algorithmen wie MD5.

Gegenmaßnahme: Verwenden Sie starke Verschlüsselung (z. B. AES-256) für Daten im Ruhezustand, TLS 1.2+ für Daten während der Übertragung und starkes Passwort-Hashing (bcrypt, Argon2).

3. Injection

Injection-Schwachstellen wie SQL-, NoSQL-, OS- und LDAP-Injection treten auf, wenn nicht vertrauenswürdige Daten als Teil eines Befehls oder einer Abfrage an einen Interpreter gesendet werden.

Beispiel: Ein Login-Formular, das eine SQL-Abfrage wie folgt konstruiert:

SELECT * FROM users WHERE username = '$username' AND password = '$password';

Wenn ein Angreifer ' OR '1'='1 als Benutzernamen eingibt, kann er die Authentifizierung umgehen.

Gegenmaßnahme: Verwenden Sie parametrisierte Abfragen oder Prepared Statements. Escapen Sie Sonderzeichen und validieren Sie Eingaben.

4. Unsicheres Design

Unsicheres Design bezieht sich auf Fehler in der Architektur und im Design einer Anwendung, nicht nur auf Implementierungsfehler.

Beispiel: Eine Passwort-Reset-Funktion, die Sicherheitsfragen mit leicht zu erratenden Antworten verwendet.

Gegenmaßnahme: Threat Modeling während des Designs, sichere Designmuster und Referenzarchitekturen.

5. Security Misconfiguration

Dazu gehören Standardkonten, ungenutzte Seiten, ungepatchte Fehler, ungeschützte Dateien und Verzeichnisse.

Beispiel: Belassen der Standard-Admin-Anmeldedaten auf einem CMS oder Offenlegung von Verzeichnislisten.

Gegenmaßnahme: Härten Sie Konfigurationen, entfernen Sie ungenutzte Funktionen und automatisieren Sie Konfigurationsprüfungen.

6. Verwundbare und veraltete Komponenten

Verwendung von Bibliotheken, Frameworks oder Software mit bekannten Schwachstellen.

Beispiel: Ausführen einer alten Version einer JavaScript-Bibliothek mit einer bekannten XSS-Schwachstelle.

Gegenmaßnahme: Aktualisieren Sie Abhängigkeiten regelmäßig, verwenden Sie Tools wie npm audit oder OWASP Dependency-Check und entfernen Sie ungenutzte Abhängigkeiten.

7. Identifikations- und Authentifizierungsfehler

Schwachstellen in der Authentifizierung und Sitzungsverwaltung.

Beispiel: Zulassen schwacher Passwörter, keine Ratenbegrenzung bei Anmeldeversuchen oder Offenlegung von Sitzungs-IDs in URLs.

Gegenmaßnahme: Implementieren Sie Multi-Faktor-Authentifizierung, erzwingen Sie starke Passwortrichtlinien und verwenden Sie eine sichere Sitzungsverwaltung.

8. Software- und Datenintegritätsfehler

Code und Infrastruktur, die nicht vor Integritätsverletzungen schützen.

Beispiel: Verwendung nicht vertrauenswürdiger CDNs für Skripte ohne Subresource Integrity (SRI).

Gegenmaßnahme: Verwenden Sie SRI, verifizieren Sie Signaturen und stellen Sie sicher, dass CI/CD-Pipelines sicher sind.

9. Fehler bei Sicherheits-Logging und -Monitoring

Unzureichendes Logging und Monitoring ermöglichen es Angreifern, unentdeckt zu bleiben.

Beispiel: Keine Protokollierung fehlgeschlagener Anmeldeversuche, sodass Brute-Force-Angriffe unbemerkt bleiben.

Gegenmaßnahme: Protokollieren Sie sicherheitsrelevante Ereignisse, überwachen Sie Logs und richten Sie Warnungen für verdächtige Aktivitäten ein.

10. Server-Side Request Forgery (SSRF)

SSRF tritt auf, wenn ein Angreifer den Server dazu bringen kann, Anfragen an interne Ressourcen zu stellen.

Beispiel: Eine Webhook-Funktion, die eine vom Benutzer bereitgestellte URL abruft. Ein Angreifer könnte http://169.254.169.254/latest/meta-data/ angeben, um auf Cloud-Metadaten zuzugreifen.

Gegenmaßnahme: Validieren und bereinigen Sie URLs, verwenden Sie Allowlists und beschränken Sie ausgehenden Datenverkehr.

Vergleichstabelle

RisikoBeispielGegenmaßnahme
Broken Access ControlZugriff auf Daten anderer Benutzer via IDORServerseitige Berechtigungsprüfungen
Kryptografische FehlerSpeichern von Passwörtern im KlartextStarkes Hashing und TLS verwenden
InjectionSQL-Injection über Login-FormularParametrisierte Abfragen
Unsicheres DesignSchwache Passwort-Reset-FragenThreat Modeling
Security MisconfigurationStandard-Admin-AnmeldedatenKonfigurationen härten
Verwundbare KomponentenAlte Bibliothek mit XSS-SchwachstelleRegelmäßige Updates
AuthentifizierungsfehlerKeine Ratenbegrenzung beim LoginMFA und Ratenbegrenzung
IntegritätsfehlerNicht vertrauenswürdige CDN-SkripteSubresource Integrity
Logging-FehlerKeine Logs für fehlgeschlagene LoginsZentralisiertes Logging und Warnungen
SSRFAbrufen interner MetadatenURL-Allowlists

Erste Schritte

  1. Bewerten: Führen Sie automatisierte Scanner und manuelle Reviews gegen die OWASP Top 10 durch.
  2. Priorisieren: Beheben Sie zuerst die kritischsten Probleme (z. B. Injection, Broken Access Control).
  3. Schulen: Bilden Sie Entwickler in sicheren Codierungspraktiken weiter.
  4. Überwachen: Implementieren Sie Logging und Benachrichtigungen für Sicherheitsereignisse.
  5. Iterieren: Aktualisieren Sie Abhängigkeiten regelmäßig und testen Sie erneut.

FAQ

Was sind die OWASP Top 10?

Die OWASP Top 10 sind eine regelmäßig aktualisierte Liste der kritischsten Sicherheitsrisiken für Webanwendungen, die vom Open Web Application Security Project (OWASP) veröffentlicht wird.

Wie oft werden die OWASP Top 10 aktualisiert?

Sie werden etwa alle drei bis vier Jahre aktualisiert, wobei die neueste Version 2021 veröffentlicht wurde. OWASP bietet jedoch laufende Anleitungen und Updates.

Kann ich mich für die Sicherheit ausschließlich auf die OWASP Top 10 verlassen?

Nein, sie sind ein Ausgangspunkt. Sie sollten auch andere OWASP-Projekte wie den Application Security Verification Standard (ASVS) befolgen und regelmäßige Sicherheitstests durchführen.

Um Ihre Nginx-Logs schnell auf Anzeichen von Angriffen wie SQL-Injection oder XSS zu analysieren, probieren Sie unseren Nginx Log Analyzer aus. Er hilft Ihnen, verdächtige Muster zu erkennen und Ihren Webserver zu sichern.