CRLF-Injection
Was ist CRLF-Injection?
CRLF-InjectionAngriff, der Wagenrücklauf- und Zeilenvorschubzeichen in HTTP-Header, Logs oder andere Textprotokolle einschleust, um neue Zeilen und Semantik zu fälschen.
CRLF-Injection missbraucht die besondere Bedeutung der Bytefolge CR (0x0D) und LF (0x0A), die in vielen Textprotokollen Zeilen abschließt. Wenn eine Anwendung ungeprüfte Benutzereingaben in HTTP-Antwortheader, Logeinträge, SMTP-Befehle oder LDAP-Anfragen einbettet, kann ein Angreifer ein CRLF-Paar samt weiterem Inhalt einschleusen, um Header zu fälschen, Antworten zu splitten, Logeinträge zu verschleiern oder Befehle zu schmuggeln. Im Web ist HTTP Response Splitting die gefährlichste Form: Sie kann Shared Caches vergiften, beliebige Cookies setzen oder XSS in einen kontrollierten Antwortkörper einschleusen. Schutz bieten das Ablehnen von CR/LF in Header-Eingaben, escape-sichere APIs und strikte Log-Encoder.
● Beispiele
- 01
Set-Cookie: id=foo%0d%0aSet-Cookie: admin=true — setzt via CRLF ein zweites Cookie.
- 02
Location: /redir%0d%0aContent-Length:0%0d%0a%0d%0a<html>... — HTTP Response Splitting.
● Häufige Fragen
Was ist CRLF-Injection?
Angriff, der Wagenrücklauf- und Zeilenvorschubzeichen in HTTP-Header, Logs oder andere Textprotokolle einschleust, um neue Zeilen und Semantik zu fälschen. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.
Was bedeutet CRLF-Injection?
Angriff, der Wagenrücklauf- und Zeilenvorschubzeichen in HTTP-Header, Logs oder andere Textprotokolle einschleust, um neue Zeilen und Semantik zu fälschen.
Wie funktioniert CRLF-Injection?
CRLF-Injection missbraucht die besondere Bedeutung der Bytefolge CR (0x0D) und LF (0x0A), die in vielen Textprotokollen Zeilen abschließt. Wenn eine Anwendung ungeprüfte Benutzereingaben in HTTP-Antwortheader, Logeinträge, SMTP-Befehle oder LDAP-Anfragen einbettet, kann ein Angreifer ein CRLF-Paar samt weiterem Inhalt einschleusen, um Header zu fälschen, Antworten zu splitten, Logeinträge zu verschleiern oder Befehle zu schmuggeln. Im Web ist HTTP Response Splitting die gefährlichste Form: Sie kann Shared Caches vergiften, beliebige Cookies setzen oder XSS in einen kontrollierten Antwortkörper einschleusen. Schutz bieten das Ablehnen von CR/LF in Header-Eingaben, escape-sichere APIs und strikte Log-Encoder.
Wie schützt man sich gegen CRLF-Injection?
Schutzmaßnahmen gegen CRLF-Injection kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für CRLF-Injection?
Übliche alternative Bezeichnungen: Carriage-Return-Linefeed-Injection, Log-Injection.
● Verwandte Begriffe
- vulnerabilities№ 495
HTTP Response Splitting
Injection-Schwachstelle, bei der nicht vertraute CR/LF-Zeichen in Benutzereingaben den Server zwingen, zusätzliche, vom Angreifer kontrollierte HTTP-Antworten auszuliefern.
- vulnerabilities№ 139
Cache Poisoning
Angriff, der eine bösartige Antwort in einem geteilten Cache speichert, sodass andere Nutzer später vom Angreifer kontrollierten Inhalt erhalten.
- attacks№ 240
Cross-Site-Scripting (XSS)
Web-Schwachstelle, mit der Angreifer bösartige Skripte in Seiten injizieren, die andere Nutzer öffnen, sodass der Code im Browser des Opfers unter der Origin der Seite ausgeführt wird.
- attacks№ 202
Command Injection
Angriff, bei dem Benutzereingaben ungefiltert an eine Betriebssystem-Shell übergeben werden und die Anwendung dadurch vom Angreifer gelieferte Befehle ausführt.
- appsec№ 538
Eingabevalidierung
Serverseitige Prüfung, ob jede unvertrauenswürdige Eingabe vor der Verarbeitung dem erwarteten Typ, Längen-, Wert-, Format- und Wertebereich entspricht.
- attacks№ 759
Offene Weiterleitung
Schwachstelle, bei der eine Anwendung Nutzer auf eine im Request-Parameter übergebene URL weiterleitet, ohne sie zu validieren — Grundlage für Phishing- und Credential-Harvesting-Kampagnen.