tags: CRLF CRLF_injection


CRLF sta per Carriage Return (CR) e Line Feed (LF), che sono caratteri speciali utilizzati per indicare una nuova riga nei protocolli di testo, come HTTP. In HTTP, una riga di intestazione (header) è separata da una nuova riga, rappresentata da \r\n (CRLF).

Cos’è una CRLF Injection?

Una CRLF Injection è una vulnerabilità che si verifica quando un’applicazione web non sanitizza correttamente l’input dell’utente, permettendo a un aggressore di inserire caratteri CRLF (\r\n) per manipolare le risposte HTTP o le intestazioni (headers).

Come Funziona?

  • Un aggressore può inserire caratteri CRLF in un input (ad esempio, un parametro URL o un campo di un form).

  • Se l’applicazione non sanitizza correttamente l’input, i caratteri CRLF possono essere interpretati come una nuova riga, permettendo all’aggressore di:

    • Iniettare nuove intestazioni HTTP: Ad esempio, aggiungere un header Location per reindirizzare l’utente a un sito malevolo.

    • Dividere la risposta HTTP: Creare una risposta HTTP multipla, che può essere utilizzata per attacchi come il Response Splitting.