OWASP Top 10 erklärt mit praktischen Beispielen

Security2026-10-24TryQuickToolBox

Sie haben eine Webanwendung erstellt und machen sich nun Sorgen um die Sicherheit. Die OWASP Top 10 ist die maßgebliche Liste der kritischen Sicherheitsrisiken für Webanwendungen. Aber die Liste zu lesen ist eine Sache; zu verstehen, wie sich diese Risiken in echtem Code manifestieren, eine andere. Dieser Artikel führt durch jede Kategorie der OWASP Top 10 mit praktischen Beispielen und konkreten Schritten zur Risikominderung.

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 das Konto eines anderen Benutzers zugreifen, indem er einen URL-Parameter ändert.

// Verwundbar: Keine Prüfung, ob die angeforderte Benutzer-ID dem authentifizierten Benutzer gehört
app.get('/api/user/:id', (req, res) => {
  const user = getUserById(req.params.id);
  res.json(user);
});

Gegenmaßnahme: Erzwingen Sie Zugriffskontrollprüfungen auf der Serverseite. Verwenden Sie rollenbasierte oder attributbasierte Zugriffskontrolle und lehnen Sie standardmäßig ab.

2. Kryptografische Fehler

Sensible Daten wie Passwörter und Kreditkartennummern müssen während der Übertragung und im Ruhezustand verschlüsselt werden. Die Verwendung schwacher Algorithmen oder das Festcodieren von Geheimnissen sind häufige Fallstricke.

# Verwundbar: Verwendung von MD5 für das Passwort-Hashing
import hashlib
hash = hashlib.md5(password.encode()).hexdigest()

Gegenmaßnahme: Verwenden Sie starke, gesalzene Hashing-Algorithmen wie bcrypt oder Argon2. Verwenden Sie immer HTTPS (TLS) für Daten während der Übertragung.

3. Injection

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

// Verwundbar: String-Verkettung in SQL-Abfrage
$sql = "SELECT * FROM users WHERE username = '" . $_GET['username'] . "'";

Gegenmaßnahme: Verwenden Sie parametrisierte Abfragen oder vorbereitete Anweisungen. Verketten Sie niemals Benutzereingaben direkt in Abfragen.

4. Unsicheres Design

Unsicheres Design bezieht sich auf fehlende oder unwirksame Kontrollmechanismen. Beispielsweise kann ein Passwortwiederherstellungssystem, das preisgibt, ob eine E-Mail-Adresse existiert, Angreifern helfen.

Gegenmaßnahme: Bedrohungsmodellierung während des Designs, Verwendung sicherer Entwurfsmuster und Implementierung von Ratenbegrenzungen und anderen Kontrollen.

5. Sicherheitsfehlkonfiguration

Dazu gehört das Aktiviertlassen von Standardkonten, das Anzeigen von Stack-Traces für Benutzer oder die Fehlkonfiguration von Cloud-Speicherberechtigungen.

# Verwundbar: Debug-Modus in der Produktion aktiviert
DEBUG = True

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

6. Verwundbare und veraltete Komponenten

Die Verwendung von Bibliotheken mit bekannten Schwachstellen ist wie eine offene Tür. Beispielsweise könnte eine veraltete Version einer beliebten Bibliothek eine Schwachstelle für Remote-Codeausführung aufweisen.

Gegenmaßnahme: Aktualisieren Sie Abhängigkeiten regelmäßig, verwenden Sie Tools wie OWASP Dependency-Check und überwachen Sie auf CVEs.

7. Fehler bei Identifikation und Authentifizierung

Schwache Authentifizierung ermöglicht es Angreifern, Passwörter zu erraten oder Sitzungen zu übernehmen.

// Verwundbar: Keine Kontosperrung nach fehlgeschlagenen Versuchen
if (passwordMatches) {
  loginUser();
} else {
  // nur Fehler anzeigen, keine Ratenbegrenzung
}

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

8. Fehler bei Software- und Datenintegrität

Diese Kategorie umfasst die Verwendung nicht vertrauenswürdiger Quellen für Software-Updates oder die Deserialisierung nicht vertrauenswürdiger Daten.

// Verwundbar: Deserialisierung nicht vertrauenswürdiger Daten
$data = unserialize($_POST['data']);

Gegenmaßnahme: Überprüfen Sie digitale Signaturen, verwenden Sie Integritätsprüfungen und vermeiden Sie die Deserialisierung nicht vertrauenswürdiger Daten.

9. Fehler bei Sicherheitslogging und -monitoring

Ohne ordnungsgemäßes Logging bleiben Sicherheitsverletzungen unentdeckt. Beispielsweise das Versäumnis, fehlgeschlagene Anmeldeversuche zu protokollieren.

Gegenmaßnahme: Protokollieren Sie sicherheitsrelevante Ereignisse, richten Sie Warnmeldungen ein und haben Sie einen Incident-Response-Plan.

10. Server-Side Request Forgery (SSRF)

SSRF tritt auf, wenn ein Angreifer den Server dazu bringen kann, Anfragen an unbeabsichtigte Ziele zu senden.

// Verwundbar: Abrufen einer URL aus Benutzereingaben ohne Validierung
fetch(req.query.url).then(...)

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

Vergleichstabelle

RisikoBeispielGegenmaßnahme
Broken Access ControlZugriff auf Daten anderer Benutzer durch URL-ManipulationServerseitige Zugriffsprüfungen erzwingen
Kryptografische FehlerSpeichern von Passwörtern im KlartextStarke Hashing-Verfahren und TLS verwenden
InjectionSQL-Injection über nicht bereinigte EingabenParametrisierte Abfragen
Unsicheres DesignPasswortwiederherstellung verrät Existenz der E-MailBedrohungsmodellierung und sichere Muster
SicherheitsfehlkonfigurationDebug-Modus in der Produktion aktiviertKonfigurationen härten
Verwundbare KomponentenVeraltete Bibliothek mit bekannter CVERegelmäßige Updates und Abhängigkeitsprüfungen
AuthentifizierungsfehlerKeine Ratenbegrenzung beim LoginMFA und starke Richtlinien
IntegritätsfehlerDeserialisierung nicht vertrauenswürdiger DatenSignaturen überprüfen und unsichere Deserialisierung vermeiden
Logging-FehlerKeine Protokolle für fehlgeschlagene LoginsLogging und Monitoring implementieren
SSRFAbrufen einer benutzerseitig bereitgestellten URLURLs validieren und auf Allowlist setzen

FAQ

Was sind die OWASP Top 10?

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

Wie oft werden die OWASP Top 10 aktualisiert?

Sie werden regelmäßig aktualisiert, um neue Bedrohungen und technologische Veränderungen widerzuspiegeln. Die letzte größere Aktualisierung erfolgte 2021.

Sind die OWASP Top 10 ausreichend für die Sicherheit?

Nein, sie sind ein Ausgangspunkt. Ein umfassendes Sicherheitsprogramm umfasst sichere Codierungspraktiken, regelmäßige Tests und kontinuierliche Überwachung.

Um Ihre Anwendungen weiter abzusichern, ziehen Sie Tools wie den Nginx Log Analyzer in Betracht, um verdächtige Aktivitäten in Ihren Server-Logs zu überwachen und zu erkennen.