JSPanda

JSpanda est un scanner de vulnérabilité de pollution de prototype côté client. Il a deux fonctionnalités clés : analyser la vulnérabilité des URL fournies et analyser le code source des bibliothèques JavaScript.
Cependant, JSpanda ne peut pas détecter les vulnérabilités avancées de pollution de prototype.
- Utilise plusieurs charges utiles (payloads) pour la vulnérabilité de pollution de prototype.
- Collecte tous les liens dans les cibles pour l'analyse et ajoute des charges utiles aux URLs obtenues par JSpanda, navigue vers chaque URL avec Chromedriver sans tête (headless).
- Analyse tous les mots dans le code source de la bibliothèque JavaScript potentiellement vulnérable et crée un simple PoC (Proof of Concept) JS en trouvant le script gadget, vous aidant à analyser le code manuellement.
Prérequis
- Téléchargez la dernière version de Google Chrome et de Chromedriver
- Selenium
Utilisation
Scan: python3.7 jspanda.py
- Ajoutez les URLs dans le fichier url.txt, par exemple : example.com
Analyse basique du code source : python3.7 analyze.py
- Ajoutez le code source d'une bibliothèque JavaScript à analyze.js
- Générez le code PoC en utilisant analyze.py
- Exécutez le code PoC dans la console de Chrome. Il pollue tous les mots collectés à partir du code source et les affiche à l'écran. Cela peut donc générer des faux positifs. Ces sorties fournissent des informations supplémentaires aux chercheurs, n'automatisez pas tout.
Démonstration

Analyse du code source - Capture d'écran

Documents supplémentaires :
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
Apprenez la pollution de prototype en série - Partie 2
dwisiswant0/ppfuzz
GitHub - raverrr/plution : Scanner de pollution de prototype utilisant Chrome sans tête
Vulnérabilités d'empoisonnement de prototype JavaScript dans la nature
Le guide complet des vulnérabilités de pollution de prototype