> For the complete documentation index, see [llms.txt](https://docs.pabloarrabal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pabloarrabal.com/explotacion/vulnerabilidades/mass-asignment-attack-parameter-binding.md).

# Mass-Asignment Attack / Parameter Binding

## ¿Qué es un Ataque de Asignamiento Masivo?

Un ataque de asignamiento masivo, es un ataque se realiza usando parámetros adicionales en la solicitud al servidor, para que este la interprete.

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2FCzII9wIfO9Vig1L8MIs9%2F0_NdrpE_5pAd7b5g5V.png?alt=media&amp;token=ee7645d9-3b9f-49f2-977b-66fe5b266be2" alt=""><figcaption></figcaption></figure>

## Escenario 1

Nos encontramos en un formulario de registro, del cual interceptamos la petición de registro:

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2FMdjW4MbTM9ThKYJvNwj7%2Fimage.png?alt=media&amp;token=2b832094-2262-4860-afec-b4e37eafd971" alt=""><figcaption></figcaption></figure>

El servidor nos contesta con otro formato JSON:

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2Fe8Xt4ulh4MnnGEebgSE5%2Fimage.png?alt=media&amp;token=03352057-6d34-42c7-981c-6f48034c923a" alt=""><figcaption></figcaption></figure>

Como vemos, en la respuesta del servidor, nos devuelve parámetros que nosotros no hemos enviado. Pues en este punto, podemos intentar hacer un Ataque de Asignamiento Masivo o Parameter Binding, en este caso, de lado de nuestra petición de registro vamos a añadir el parámetro de `role` y asignarle otro valor:

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2Fo4uwxYtmlns7LT7WFmuJ%2Fimage.png?alt=media&amp;token=2dc79df6-ae1e-4d31-a084-6f14173d5972" alt=""><figcaption></figcaption></figure>

La respuesta a esta petición modificada es exitosa, y nuestro usuario se ha registrado con rol de administrador

{% hint style="info" %}
En algunos casos, el servidor no responde con ningún parámetro nuevo, por lo que podemos usar una ataque de fuerza bruta en las cabeceras de la solicitud para determinar que nombre de párametro y que valor, nos permitirá hacer cambios.
{% endhint %}
