Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pdf.js-CVE-2024-4367 — SCAN END POC THE CVE-2024-4367 | Kitploit
도구/GitHubGitHub/veronimo669/pdf.js-cve-2024-4367
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationInformation GatheringPenetration TestingPapers & ResearchLearning & Education
GitHubveronimo669/pdf.js-cve-2024-4367

pdf.js-CVE-2024-4367

SCAN END POC THE CVE-2024-4367

저장소 보기
1203개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🚨 CVE-2024-4367 - 범용 PDF.js 취약점 스캐너

⚠️ 중요 보안 도구 | CVE-2024-4367(CVSS 9.8) - PDF.js 원격 코드 실행(RCE) 취약점 탐지

Version CVSS CVE License

모든 웹사이트에서 작동 - 별도 설정 불필요


📋 목차

  • 📖 개요
  • ⚡ 빠른 시작
  • 🔍 탐지 기능
  • 🛠️ 작동 방식
  • 📊 출력 예시
  • 🔒 해결 가이드
  • 🎯 공격 벡터
  • 🧪 테스트 지침
  • 📝 기술 세부사항
  • ⚠️ 법적 고지
  • 📚 참고 자료

📖 개요

CVE-2024-4367은 PDF.js(4.2.67 미만 버전)의 치명적인 취약점으로, 악성 PDF 파일을 통해 임의 JavaScript 실행을 허용합니다. 이 스캐너는 모든 웹사이트에서 취약한 PDF.js 인스턴스를 자동으로 탐지합니다.

이 스캐너가 다른 점

  • ✅ 설정 불필요 - 모든 웹사이트에서 즉시 작동
  • ✅ 범용 탐지 - 모든 JavaScript 번들 스캔
  • ✅ 의존성 없음 - 순수 JavaScript
  • ✅ PoC(개념 증명) - 테스트 PDF 생성
  • ✅ 실행 가능한 결과 - 명확한 해결 단계 제시

취약점 정보

PDF.js에는 PDF 파일에 포함된 JavaScript가 적절한 샌드박싱 없이 실행되는 결함이 있어, 공격자가 다음을 수행할 수 있습니다:

  • 🏴‍☠️ localStorage/sessionStorage에서 인증 토큰 탈취
  • 🍪 세션 쿠키 유출
  • 📁 로컬 파일 접근 (Electron/데스크톱 앱 사용 시)
  • 🔐 탈취한 자격 증명을 사용해 피해자로 위장한 작업 수행
  • 🌐 XSS를 통한 내부 네트워크 침투(피벗)

⚡ 빠른 시작

방법 1: 브라우저 콘솔 (가장 간편함)

  1. 대상 웹사이트를 엽니다
  2. F12를 눌러 DevTools를 엽니다
  3. 콘솔(Console) 탭으로 이동합니다
  4. 스캐너 스크립트 전체를 붙여넣습니다
  5. Enter를 누릅니다
  6. 화면에서 시각적 결과를 확인합니다!

방법 2: 북마클릿(Bookmarklet)

이 URL로 북마크를 생성합니다:

javascript:(function(){const s=document.createElement('script');s.src='https://cdn.jsdelivr.net/gh/yourusername/CVE-2024-4367-Scanner/scanner.js';document.body.appendChild(s);})();

방법 3: 직접 다운로드

git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# Open any website and run the script

🔍 탐지 기능

1단계: JavaScript 번들 스캔

  • ✅ PDF.js 버전 탐지
  • ✅ 취약한 버전 식별 (< 4.2.67)
  • ✅ package.json 참조
  • ✅ node_modules 경로

2단계: PDF 뷰어 식별

  • ✅ `` PDF 뷰어
  • ✅ <embed> 요소
  • ✅ <object> 데이터 태그
  • ✅ 사용자 지정 PDF 뷰어 컨테이너
  • ✅ 캔버스(Canvas) 기반 렌더러

3단계: 공격 벡터

  • ✅ URL 매개변수 (?pdf=, ?file=, ?src=)
  • ✅ PDF 업로드 양식
  • ✅ .pdf를 허용하는 파일 입력 필드
  • ✅ PDF 경로가 포함된 API 엔드포인트

4단계: 시각적 표시

  • ✅ 실시간 취약점 상태
  • ✅ 다운로드 가능한 PoC PDF
  • ✅ 실시간 DOM 오버레이

🛠️ 작동 방식

┌─────────────────────────────────────────────────────────────┐
│                    SCAN PROCESS FLOW                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 📚 LOAD SCRIPTS                                         │
│     ├─ External scripts (all <script src="">)              │
│     └─ Inline scripts (all <script> tags)                  │
│                                                             │
│  2. 🔍 EXTRACT PDF.JS VERSION                               │
│     ├─ Pattern matching in code                             │
│     ├─ Package.json detection                               │
│     └─ Node_modules path parsing                            │
│                                                             │
│  3. 🎯 IDENTIFY VULNERABILITY                               │
│     ├─ version < 4.2.67 ? → VULNERABLE                     │
│     └─ version = 2.16.105 ? → VULNERABLE                   │
│                                                             │
│  4. 🖼️ LOCATE VIEWERS                                       │
│     ├─ DOM element scanning                                 │
│     └─ Attribute detection                                 │
│                                                             │
│  5. ⚡ GENERATE POC                                         │
│     ├─ Create test PDF                                      │
│     └─ Provide download link                                │
│                                                             │
│  6. 📊 DISPLAY RESULTS                                      │
│     ├─ Visual overlay                                       │
│     ├─ Console report                                       │
│     └─ Global variable storage                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

📊 출력 예시

콘솔 출력

╔═══════════════════════════════════════════════════════════════════════════════════╗
║                    CVE-2024-4367 - UNIVERSAL PDF.js SCANNER                         ║
║              Detects vulnerable PDF.js versions and potential exploitation         ║
╚═══════════════════════════════════════════════════════════════════════════════════╝

📚 PHASE 1: Scanning JavaScript Bundles for PDF.js
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] Found 42 external scripts
[+] Found 12 inline scripts
   [1/42] Analyzing: vendor.bundle.js
      → PDF.js indicator found: pdfjs-dist
      ✅ PDF.js version found: 2.16.105
      🚨 VULNERABLE to CVE-2024-4367!

🎯 PHASE 4: Identifying Exploitation Vectors
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ⚠️ URL parameter accepts PDF: file=/documents/report.pdf
   ⚠️ PDF upload form found

█████████████████████████████████████████████████████████████████████████████████
                          FINAL SCAN REPORT
█████████████████████████████████████████████████████████████████████████████████

🚨 CRITICAL VULNERABILITY CONFIRMED!
   CVE: CVE-2024-4367
   CVSS: 9.8 (CRITICAL)
   Impact: Arbitrary JavaScript Execution

시각적 오버레이

Scanner Overlay

┌─────────────────────────────────────────────────────────────┐
│  CVE-2024-4367 SCAN RESULTS                                │
│  ━━━━━━━━━━━━━━━━━━━━━━━                                    │
│  📍 Target: example.com                                    │
│  📦 PDF.js: 2.16.105                                       │
│  🎯 Vulnerable: YES                                        │
│  📄 Viewers: 3                                             │
│  ⚡ Vectors: 2                                             │
│  ━━━━━━━━━━━━━━━━━━━━━━━                                    │
│  🔴 CRITICAL - Upgrade Required                            │
└─────────────────────────────────────────────────────────────┘

🔒 해결 가이드

즉시 조치

1. PDF.js 업그레이드 (권장)

# For Node.js projects
npm install pdfjs-dist@latest

# For CDN usage
# Update to version 4.2.67 or higher

2. JavaScript 실행 비활성화

// Set this before loading PDF.js
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;

3. 콘텐츠 보안 정책(CSP)

Content-Security-Policy: script-src 'self'; 
                        object-src 'none'; 
                        worker-src 'none'

4. 입력 검증

// Validate PDF files before rendering
function validatePDF(file) {
    // Check magic bytes
    const header = file.slice(0, 5);
    if (header !== '%PDF-') {
        throw new Error('Invalid PDF file');
    }
    
    // Scan for JavaScript
    const text = file.toString();
    if (text.includes('/JavaScript') || 
        text.includes('/JS') ||
        text.includes('<< /S /JavaScript >>')) {
        throw new Error('PDF contains JavaScript');
    }
}

장기적 해결 방안

해결 방법난이도효과
PDF.js 업그레이드쉬움✅ 완전한 해결
PDF.js에서 JS 비활성화쉬움✅ 완전한 해결
CSP 구현보통✅ 양호
서버측 검증보통✅ 양호
샌드박스 렌더링어려움✅ 탁월

🎯 공격 벡터

탐지되는 일반적인 공격 벡터

  1. URL 매개변수

    /viewer?file=malicious.pdf
    /download?pdf=malicious.pdf
    
  2. 파일 업로드

    <input type="file" accept=".pdf">
    
도구 다운로드