JSPanda

JSPanda es un escáner de vulnerabilidades de contaminación de prototipos del lado del cliente. Tiene dos características clave: escanear vulnerabilidades en las URLs proporcionadas y analizar el código fuente de las bibliotecas JavaScript.
Sin embargo, JSPanda no puede detectar vulnerabilidades avanzadas de contaminación de prototipos.
¿Cómo funciona JSPanda?
- Utiliza múltiples payloads para la vulnerabilidad de contaminación de prototipos.
- Recopila todos los enlaces en los objetivos para escanear y agrega payloads a las URLs obtenidas por JSPanda, navegando a cada URL con Chromedriver sin cabeza.
- Escanea todas las palabras en el código fuente de la biblioteca JavaScript potencialmente vulnerable y crea un PoC simple en JS al encontrar el script gadget, ayudándote a analizar el código manualmente.
Requisitos
- Descargar la última versión de Google Chrome y Chromedriver
- Selenium
Uso
Escaneo: python3.7 jspanda.py
- Añadir URLs al archivo url.txt, por ejemplo: example.com
Análisis básico del código fuente: python3.7 analyze.py
- Añadir el código fuente de una biblioteca JavaScript a analyze.js
- Generar código PoC usando analyze.py
- Ejecutar el código PoC en la consola de Chrome. Contamina todas las palabras recopiladas del código fuente y las muestra en pantalla. Por lo tanto, puede generar resultados falsos positivos. Estas salidas proporcionan información adicional a los investigadores, no automatizan todo.
Demostración

Análisis del código fuente - Captura de pantalla

Materiales de apoyo:
https://twitter.com/har1sec/status/1314469278322655233
https://github.com/BlackFan/client-side-prototype-pollution
https://github.com/ThePacketBender/notes/blob/01c0b834f6e3ee4d934b087b2d92c9e484dc2a50/web/prototype_pollution.txt
https://habr.com/ru/company/huawei/blog/547178/
https://infosecwriteups.com/javascript-prototype-pollution-practice-of-finding-and-exploitation-f97284333b2
https://github.com/securitum/research/tree/master/r2020_prototype-pollution
Aprende sobre Contaminación de Prototipos en Serie - Parte 2
dwisiswant0/ppfuzz
GitHub - raverrr/plution: Escáner de contaminación de prototipos usando Chrome sin cabeza
Vulnerabilidades de Envenenamiento de Prototipos JavaScript en la Naturaleza
La Guía Completa de Vulnerabilidades de Contaminación de Prototipos