> For the complete documentation index, see [llms.txt](https://guide-api-rest.marmicode.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide-api-rest.marmicode.fr/securite-des-apis-rest/c.s.r.f..md).

# C.S.R.F.

![Cross-Site Request Forgery](/files/-LFLd8_P-OVBXxOE_A4r)

**Cross-Site Request Forgery** est une attaque *in-the-browser* dont le scénario est le suivant :

1. Un utilisateur *(victime)* doit être authentifié sur l’application vulnérable.<br>
2. L'attaquant doit réussir à **faire visiter une application** qu’il contrôle *(entièrement ou partiellement)* par la victime.<br>
3. Lors de la visite de la victime, **l'attaquant déclenche une opération sur l’application vulnérable** en utilisant implicitement les *credentials* de la victime.\
   \&#xNAN;*On suppose qu’une requête de type GET ne peut pas déclencher d’opération sensible car autrement il suffirait de rediriger l’utilisateur vers l’URL en question.*<br>
4. Si les règles C.O.R.S. sont désactivées par l’un des moyens décrits dans le chapitre C.O.R.S., l'attaquant peut simplement déclencher une requête POST de son choix à destination de l’application vulnérable en utilisant les *credentials* de la victime.

{% hint style="warning" %}
Si la *whitelist* d'origins n’effectue pas une vérification rigoureuse, l'attaquant pourrait éventuellement contrôler le domaine **http** de l’application vulnérable en ciblant le domaine **https** de l’application vulnérable.
{% endhint %}
