OWASP Top 10
Die OWASP Top 10 sind eine regelmäßig aktualisierte Liste der zehn kritischsten Sicherheitsrisiken für Webanwendungen, herausgegeben von der Open Web Application Security Project Foundation.
Die OWASP Top 10 ist das bekannteste Referenzdokument für Web Application Security. Das Open Web Application Security Project (OWASP) veröffentlicht alle 3-4 Jahre eine aktualisierte Liste der kritischsten Schwachstellenkategorien - basierend auf realen Daten aus Tausenden Web-Applikations-Pentests.
Jede seriöse Compliance-Anforderung die Web-Sicherheit adressiert - PCI DSS, BSI IT-Grundschutz APP.3.1, ISO 27001 A.8.28 - referenziert OWASP Top 10.
OWASP Top 10 (2021, weiterhin aktuell)
| # | Kategorie | Typischer Angriffsvektor |
|---|---|---|
| A01 | Broken Access Control | Nutzer greift auf Ressourcen anderer Nutzer zu (IDOR) |
| A02 | Cryptographic Failures | Schwache Passwort-Hashes (SHA1 ohne Salt), kein TLS |
| A03 | Injection | SQL Injection, NoSQL Injection, LDAP Injection, OS Command Injection |
| A04 | Insecure Design | Fehlende Security-Anforderungen schon beim Systemdesign |
| A05 | Security Misconfiguration | Standardpasswörter, offene Cloud-Storage, ungepatchte Systeme |
| A06 | Vulnerable Components | Log4Shell (log4j), bekannte CVEs in Libraries und Frameworks |
| A07 | Authentication Failures | Brute-Force, schwache Passwörter, fehlende MFA |
| A08 | Software/Data Integrity | Unsichere CI/CD-Pipelines, Auto-Updates ohne Signaturprüfung |
| A09 | Security Logging Failures | Fehlende Protokollierung von Sicherheitsereignissen |
| A10 | SSRF | Server-Side Request Forgery - Server sendet Anfragen zu internen Zielen |
Die häufigsten Schwachstellen im Detail
A01: Broken Access Control
Häufigste Schwachstelle in modernen Web-Applikationen. Nutzer können auf Ressourcen oder Funktionen zugreifen, für die sie keine Berechtigung haben (Insecure Direct Object Reference - IDOR).
Beispiel: Aufruf von /api/documents/12345 statt /api/documents/12346 gibt das Dokument eines anderen Nutzers zurück, weil kein Eigentümercheck stattfindet.
Schutz: Jede API-Anfrage muss prüfen ob der angemeldete Nutzer auf die angeforderte Ressource zugreifen darf - nicht nur ob er eingeloggt ist.
A03: Injection
User-Input wird ohne ausreichende Validierung in Interpreter-Befehle eingebettet.
SQL Injection Klassiker:
URL: /user?id=1' OR '1'='1
→ Gibt alle Nutzer zurück - kein Passwort nötig
Schutz: Prepared Statements (Parameterized Queries), kein String-Concatenation für SQL-Queries.
A07: Authentication Failures
Fehlende oder schwache Authentifizierung - Brute-Force, schwache Passwörter, fehlende Rate-Limits, keine MFA.
Schutz: MFA für alle Konten, Account-Lockout nach Fehlversuchen, starke Passwort-Richtlinien.
Praktische Bedeutung
- Pentests: Jeder professionelle Web Application Penetration Test testet alle OWASP-Top-10-Kategorien
- SDLC: Entwicklungsteams sollten OWASP Top 10 als Mindestanforderung in den Secure Development Lifecycle integrieren
- WAF: Web Application Firewalls (WAF) bieten Basisschutz gegen bekannte OWASP-Top-10-Angriffe - ersetzen aber keine sichere Entwicklung
- Training: OWASP bietet kostenlose Lernressourcen (WebGoat, Juice Shop) für Entwicklerschulungen
Ergänzende OWASP-Listen:
- OWASP API Security Top 10 (für REST/GraphQL-APIs)
- OWASP Mobile Top 10 (für mobile Anwendungen)
Ausführlicher Guide: OWASP Top 10 2025 mit Code-Beispielen