Lab 1: Client-side prototype pollution via browser APIs

https://portswigger.net/web-security/prototype-pollution/client-side/browser-apis/lab-prototype-pollution-client-side-prototype-pollution-via-browser-apis

Primero ejecutamos el siguiente script de js en la consola:

Object.prototype

Luego de lo anterior, se procede a realizar un GET concatenando lo siguiente:

/?__proto__[variable]=gerhishere

Y al ejecutar nuevamente el script previo, sale lo siguiente:

Y luego de lo anterior, validamos el codigo fuente para analizarlo:

El ataque de prototype pollution ocurre cuando un atacante puede modificar el prototipo de objetos base en JavaScript, como Object.prototype, lo que permite inyectar propiedades maliciosas que pueden ser utilizadas en todo el código que se basa en estos objetos.

En este caso, la función deparam podría ser explotada si los parámetros de la URL incluyen claves como __proto__. Por ejemplo, un atacante podría pasar una URL como esta:

Teniendo en cuenta lo anterior, se procede a modificar nuestro payload para desplegar una alerta en JS:

Última actualización