> For the complete documentation index, see [llms.txt](https://sansong.gitbook.io/cyber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sansong.gitbook.io/cyber/web/server/crlf.md).

# CRLF

Carriage Return Line Feed

Après une requête, un serveur renvoie une réponse en deux parties:

* les en-têtes (headers)
* le contenu de la page

Le serveur sait comment séparer les en-têtes du contenu grâce à une combinaison de CR (fin de ligne) et LF (saut de ligne). En injectant ces caractères on peut modifier des en-têtes et désactiver des protections par exemple.

| Caractère ASCII |   Description   | URL-encoding |
| :-------------: | :-------------: | :----------: |
|    CR (`\r`)    | carriage return |     `%0D`    |
|    LF (`\n`)    |    line feed    |     `%0A`    |

Injection avec une requête GET :

```
GET /%0d%0aSet-Cookie:unCookie=uneValeur HTTP/1.1
```

{% embed url="<https://www.geeksforgeeks.org/crlf-injection-attack/>" %}
