CRLF Injection
Was ist CRLF Injection?
CRLF Injection ist eine Web-Schwachstelle, bei der Angreifer Zeilenumbruch-Zeichen (\r\n
bzw. %0d%0a
) in HTTP-Header injizieren, um die Serverantwort gezielt zu manipulieren. Dadurch lassen sich Response Splitting-Angriffe oder unsichtbare Cookie-Injektionen durchführen.
Technischer Hintergrund
CRLF steht für:
-
CR (Carriage Return):
\r
-
LF (Line Feed):
\n
→ gemeinsam beenden sie Header-Zeilen in HTTP
Mögliche Angriffe:
-
HTTP Response Splitting
-
Header wird aufgespalten → zweiter Response manipuliert
-
-
Cookie Injection
-
Angreifer setzt Cookie beim Browser
-
-
Open Redirect / XSS-Bypass
-
durch Manipulation von Location-Headern
-
Schutzmaßnahmen
-
Eingabe filtern oder escapen
-
Zeichen wie
%0d%0a
blockieren -
Nutzung sicherer Frameworks mit eingebauter Header-Sanitization
-
Header-Werte nicht direkt aus Benutzereingaben zusammensetzen
Verwandte Begriffe
-
HTTP Header
-
Response Splitting
-
Injection
-
Input Validation
-
Header Manipulation
-
OWASP Top 10
Beispiel
Eine Suchparameter-URL enthielt
%0d%0aSet-Cookie:session=malicious
. Beim Laden setzte der Server tatsächlich das Cookie – über den injizierten zweiten Header.