Wissen › OWASP Top 10 im Überblick
OWASP Top 10 im Überblick
Die zehn größten Risiken für Webanwendungen laut OWASP – in der aktuellen Ausgabe 2025, verständlich erklärt und mit TYPO3-Bezug.
Lies den Artikel und beantworte am Ende 9 Fragen. Erst wenn alle richtig beantwortet sind, ist die Lektion im Training erledigt.
Die OWASP Top 10 sind die bekannteste Liste der größten Sicherheitsrisiken für Webanwendungen. Herausgeber ist das Open Worldwide Application Security Project (OWASP), eine gemeinnützige Community. Die aktuelle Ausgabe 2025 wurde im November 2025 vorgestellt und löst die Ausgabe von 2021 ab.
Was die Liste ist – und was nicht
Die Top 10 sind ein Dokument zur Bewusstseinsbildung: Sie zeigen, wo die meisten und folgenreichsten Probleme liegen. Jede Kategorie fasst viele einzelne Schwachstellentypen (CWEs) zusammen – insgesamt 248.
Grundlage der Ausgabe 2025 sind Daten zu über 2,8 Millionen Anwendungen, beigesteuert von Sicherheitsfirmen und Prüfern. Acht Kategorien ergeben sich direkt aus diesen Daten, zwei kamen über eine Umfrage unter Fachleuten hinzu (A03 und A09) – weil Daten immer nur zeigen, was heute schon gut erkennbar ist.
Kein vollständiger Prüfkatalog: Wer eine Anwendung systematisch prüfen will, nimmt den OWASP Application Security Verification Standard (ASVS).
Die zehn Kategorien
-
A01
Broken Access Control
Fehlerhafte ZugriffskontrolleNutzer können mehr sehen oder tun, als sie dürfen – etwa fremde Datensätze über eine veränderte ID abrufen. Seit 2025 gehört auch Server-Side Request Forgery (SSRF) dazu: Der Server wird dazu gebracht, Anfragen an interne Ziele zu schicken.
Mehr dazu → -
A02
Security Misconfiguration
Sicherheitsrelevante FehlkonfigurationUnsichere Standardeinstellungen, offene Debug-Ausgaben, unnötige Dienste oder fehlende Sicherheits-Header. Gegenüber 2021 von Platz 5 auf Platz 2 gestiegen.
Mehr dazu → -
A03
Software Supply Chain Failures
Fehler in der Software-LieferketteAlles rund um fremden Code: veraltete oder verwundbare Bibliotheken, kompromittierte Pakete, unsichere Build- und Update-Prozesse. Bekannte Beispiele sind Log4Shell und der SolarWinds-Angriff. In der Fachleute-Umfrage auf Platz 1.
-
A04
Cryptographic Failures
Kryptografische FehlerSensible Daten werden ungeschützt übertragen oder gespeichert, oder es kommen schwache Verfahren zum Einsatz – etwa Passwörter als einfache MD5-Hashes.
-
A05
Injection
Eingaben werden als Befehl ausgeführt: SQL-Injection, Cross-Site Scripting, Template Injection oder das Einschleusen von Systembefehlen.
Mehr dazu → -
A06
Insecure Design
Unsicheres DesignDer Fehler steckt im Konzept, nicht in einer Codezeile: fehlende Limits, unsichere Abläufe wie ein zu einfacher Passwort-Reset. Lässt sich nicht nachträglich wegpatchen, sondern muss von Anfang an mitgedacht werden.
-
A07
Authentication Failures
Fehler bei der AuthentifizierungSchwache Anmeldung: erratbare Passwörter, kein Schutz vor massenhaftem Durchprobieren, unsichere Sitzungen, fehlende Zwei-Faktor-Anmeldung.
-
A08
Software or Data Integrity Failures
Fehler bei der Integrität von Software und DatenMan vertraut Code oder Daten, ohne sie zu prüfen: unsignierte Updates, unsichere Deserialisierung, Daten aus nicht vertrauenswürdigen Quellen, die ungeprüft weiterverarbeitet werden.
-
A09
Security Logging and Alerting Failures
Fehler bei Protokollierung und AlarmierungAngriffe bleiben unbemerkt, weil nichts protokolliert wird oder niemand auf Warnungen reagiert. Der neue Name betont: Protokolle allein reichen nicht, es braucht Alarme.
-
A10
Mishandling of Exceptional Conditions
Fehlerhafte Behandlung von AusnahmesituationenNeu in 2025: Fehler- und Sonderfälle werden falsch behandelt – Prüfungen, die im Fehlerfall alles erlauben („fail open“), Fehlermeldungen mit internen Details oder halb ausgeführte Transaktionen.
Mehr dazu →
Was hat sich gegenüber 2021 geändert?
- Neu: A03 Software Supply Chain Failures – eine deutliche Erweiterung der früheren Kategorie „Vulnerable and Outdated Components“.
- Neu: A10 Mishandling of Exceptional Conditions.
- Zusammengelegt: Server-Side Request Forgery ist keine eigene Kategorie mehr, sondern Teil von A01.
- Aufgestiegen: Security Misconfiguration von Platz 5 auf Platz 2.
- Umbenannt: A07 (früher „Identification and Authentication Failures“) und A09 (früher „Security Logging and Monitoring Failures“).
- Abgestiegen: Cryptographic Failures, Injection und Insecure Design rutschen je zwei Plätze nach unten (auf 4, 5 und 6) – verschwunden sind sie nicht.
So nutzt du die Liste
- Als Lernpfad: Die Kategorien geben eine gute Reihenfolge vor, um Web-Sicherheit zu verstehen.
- In Code-Reviews und Konzeptphasen: Welche der zehn Kategorien betrifft dieses Feature?
- Gegenüber Dienstleistern: als gemeinsame Sprache für Anforderungen und Prüfberichte.
- Für echte Prüfungen: zusätzlich den OWASP ASVS heranziehen.
Lektion abschließen: 9 Fragen beantworten
Diese Lektion („OWASP Top 10 im Überblick“) gilt im Training erst als erledigt, wenn du alle 9 Fragen zu diesem Artikel richtig beantwortet hast – von leicht bis knifflig. Dafür brauchst du ein Konto, damit dein Fortschritt gespeichert wird.
Worauf du in TYPO3 achten musst
Ein Blick durch die TYPO3-Brille auf die wichtigsten Kategorien:
A01 – Zugriffskontrolle
Backend-Benutzergruppen und Seitenrechte sauber pflegen. Eigene Extbase-Controller und Endpunkte müssen selbst prüfen, ob der aktuelle Nutzer auf einen Datensatz zugreifen darf – eine ID aus der Anfrage reicht nie.
A02 – Konfiguration
Live-Systeme im Kontext Production betreiben, Fehlerausgaben im Frontend abschalten, das Install Tool absichern und trustedHostsPattern setzen.
A03 – Lieferkette
Core und Erweiterungen aktuell halten, Security-Advisories verfolgen, composer audit nutzen und nur gepflegte Erweiterungen einsetzen.
A05 – Injection
Datenbankzugriffe über den QueryBuilder mit benannten Parametern; in Fluid die automatische Kodierung nicht mit f:format.raw aushebeln.
A07 – Anmeldung
Zwei-Faktor-Anmeldung (seit TYPO3 11.1) zumindest für Administratoren vorschreiben und die Passwort-Richtlinien (seit TYPO3 12) nutzen.
Weiter im Wissen
Interaktiv üben
In der Lernplattform probierst du das an einer echten, isolierten TYPO3-Instanz aus: