JSPanda

JSpanda는 클라이언트 측 프로토타입 오염 취약점 스캐너입니다. 두 가지 주요 기능이 있습니다: 제공된 URL의 취약점 스캔과 JavaScript 라이브러리의 소스 코드 분석입니다.
하지만 JSpanda는 고급 프로토타입 오염 취약점을 탐지할 수 없습니다.
JSPanda 작동 방식
- 프로토타입 오염 취약점을 위해 여러 페이로드를 사용합니다.
- 스캔을 위해 대상의 모든 링크를 수집하고 JSpanda가 획득한 URL에 페이로드를 추가한 후, 헤드리스 Chromedriver로 각 URL을 탐색합니다.
- 잠재적으로 취약한 JavaScript 라이브러리의 소스 코드에 있는 모든 단어를 스캔하고, 스크립트 가젯을 찾아 간단한 JS PoC를 생성하여 수동으로 코드를 분석하는 데 도움을 줍니다.
요구 사항
- 최신 버전의 Google Chrome과 Chromedriver를 다운로드하세요.
- Selenium
사용법
스캔: python3.7 jspanda.py
- url.txt 파일에 URL을 추가하세요. 예: example.com
기본 소스 코드 분석: python3.7 analyze.py
- analyze.js 파일에 JavaScript 라이브러리의 소스 코드를 추가하세요.
- analyze.py를 사용하여 PoC 코드를 생성하세요.
- Chrome 콘솔에서 PoC 코드를 실행하세요. 소스 코드에서 수집된 모든 단어를 오염시키고 화면에 표시합니다. 따라서 가양성 결과가 발생할 수 있습니다. 이러한 출력은 연구자에게 추가 정보를 제공하며, 모든 것을 자동화하지 마십시오.
데모

소스 코드 분석 - 스크린샷

참고 자료 :
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
Learn Prototype Pollution in Series - Part 2
dwisiswant0/ppfuzz
GitHub - raverrr/plution: Prototype pollution scanner using headless chrome
JavaScript Prototype Poisoning Vulnerabilities in the Wild
The Complete Guide to Prototype Pollution Vulnerabilities