
CVE-2020-11023 XSS 취약점을 위한 정적 분석 스캐너입니다. JavaScript에서 취약한 jQuery 버전과 위험한 DOM 조작 패턴을 웹 페이지 및 로컬 파일에서 탐지합니다.
자바스크립트 코드에 숨어 있는 크로스 사이트 스크립팅(XSS) 취약점의 유령에 시달리고 계신가요? CVE-2020-11023이 웹 애플리케이션을 공격에 노출시키는 것이 걱정되시나요? 더 이상 두려워하지 마세요! CVE-2020-11023 스캐너가 이러한 성가신 취약점을 찾아 정복할 수 있도록 도와드립니다!
이 빠르고 신뢰할 수 있는 정적 분석 도구는 JavaScript 파일과 웹 페이지에서 XSS 취약점, 특히 CVE-2020-11023과 관련된 징후를 스캔하도록 설계되었습니다. 취약점이 있는 것으로 알려진 jQuery 3.5.0 이전 버전에 중점을 둡니다.
면책 조항: 이 도구는 정적 분석만 수행합니다. 코드를 실행하지 않으므로 동적 분석과 동일한 확실성으로 악용 가능성을 보장할 수 없습니다. 항상 결과를 수동으로 검토하고 추가 테스트를 수행하여 실제 위험을 확인하세요!
.js 파일을 재귀적으로 스캔합니다..html(), .append(), .after(), .before(), .replaceWith()와 같은 잠재적으로 위험한 jQuery DOM 조작 메서드가 잠재적으로 안전하지 않은 입력과 함께 사용되는 경우 플래그를 지정합니다.window.location, document.cookie 등과 같은 잠재적으로 신뢰할 수 없는 데이터 소스의 사용을 감지합니다.requests 라이브러리 (pip install requests)beautifulsoup4 라이브러리 (pip install beautifulsoup4)packaging 라이브러리 (pip install packaging)저장소를 클론하세요:
git clone <your-repository-url>
cd <your-repo-name>
의존성을 설치하세요:
pip install -r requirements.txt
명령줄 인수:
--url <URL>: 스캔할 대상 URL을 지정합니다.--file <path>: 스캔할 로컬 파일 또는 디렉토리 경로를 지정합니다.--deep: URL에 대한 심층 스캔을 활성화합니다(연결된 JavaScript 파일의 재귀적 크롤링).예제:
웹사이트 스캔 (심층 스캔 포함):
python scan.py --url [https://www.example.com](https://www.example.com) --deep
로컬 JavaScript 파일 스캔:
python scan.py --file /path/to/your/file.js
로컬 디렉토리 재귀적으로 스캔:
python scan.py --file /path/to/your/directory
예제 보고서:
════════════════════════════════════════════════════════════════════════════════════════════
취약점 스캔 보고서
CVE-2020-11023
════════════════════════════════════════════════════════════════════════════════════════════
■ [잠재적 취약] JQUERY_VERSION
위치: [https://www.example.com/](https://www.example.com/)
라인: 해당 없음
코드: >=3.5.0으로 업데이트
세부 정보: jQuery 3.4.0 (잠재적 취약)
■ [잠재적 취약] METHOD_APPEND
위치: [https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id](https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id)
라인: 25
코드: element.append(data);
세부 정보: 안전하지 않은 변수: data, 직접 소스: window.location
■ [정보] JQUERY_VERSION
위치: [https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id](https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id)
라인: 해당 없음
코드: 안전한 버전
세부 정보: jQuery 3.6.0 (안전)
🛡️ 권장 사항
jQuery 업데이트: 취약한 jQuery 버전이 감지되면 즉시 최신 버전(>= 3.5.0)으로 업데이트하세요.
입력 정제: 잠재적으로 위험한 DOM 조작 메서드와 함께 사용하기 전에 사용자 제공 또는 신뢰할 수 없는 데이터를 철저히 정제하세요. DOMPurify와 같은 라이브러리 사용을 고려하세요.
.text() 현명하게 사용: 텍스트 콘텐츠만 삽입해야 하는 경우 .html() 또는 입력을 HTML로 해석할 수 있는 다른 메서드 대신 .text() 메서드를 사용하세요.
수동 검토: 실제 위험을 판단하고 오탐을 배제하기 위해 항상 이 스크립트의 결과를 수동으로 검토하세요.
🙌 기여
디지털 세상을 더 안전하게 만드는 데 함께해 주세요! 여러분의 기여는 언제나 환영입니다! 이 스크립트의 성능과 기능을 개선하기 위해 풀 리퀘스트를 제출하거나 이슈를 열어 주세요.
📄 라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.