Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-37888 — CKEditor 4의 Open Link Plugin을 위한 XSS PoC/Exploit | Kitploit
도구/GitHubGitHub/7ragnarok7/cve-2024-37888
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHub7ragnarok7/cve-2024-37888

CVE-2024-37888

CKEditor 4의 Open Link Plugin을 위한 XSS PoC/Exploit

저장소 보기
41155일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

CVE-2024-37888

이 저장소는 2024년 5월 21일 Anurag Mondal(7Ragnarok7)이 발견하고 보고한 CVE-2024-37888의 취약점 세부 정보와 익스플로잇을 문서화합니다.

지표

  • CWE-79: 웹 페이지 생성 중 입력의 부적절한 중화('크로스 사이트 스크립팅')
  • CVSS: 6.1 (MEDIUM)

취약점 개요

이 개념 증명(POC)은 최근 제가 Open Link 플러그인에서 발견한 XSS 취약점의 익스플로잇을 보여줍니다. 이 플러그인은 활성화되면 모든 버전의 CKEditor 4에 직접 영향을 미칩니다. 이 결함은 플러그인이 정화하지 못하는 조작된 링크를 통해 편집기 내에서 JavaScript가 실행되도록 허용합니다. 이 결함은 Open Link 플러그인이 설치된 경우에만 텍스트 영역 내에서 악용될 수 있습니다. Open Link 플러그인을 사용하면 편집 영역 내에서 직접 링크를 열 수 있습니다.

사전 요구 사항

  1. CKEditor (버전 4.*.*): https://ckeditor.com/ckeditor-4/download/#ckeditor-4
  2. Open Link 플러그인 (버전 < 1.0.5): https://ckeditor.com/cke4/addon/openlink

재현 단계

이 취약점은 여기에 있는 사전 구성된 CKEditor 인스턴스에서 테스트할 수 있습니다.

  1. 페이로드 삽입:

    • CKEditor 인스턴스를 열고 "Source" 아이콘을 클릭합니다.

    • 텍스트 영역에 다음 페이로드를 삽입합니다:

      <a href="javascript:alert('XSS Found')">XSS</a>
      

    페이로드 삽입 스크린샷

  2. WYSIWYG 모드로 전환:

    • "Source" 아이콘을 다시 클릭하여 WYSIWYG 모드로 전환합니다.
    • 하이퍼링크가 편집기 내에서 클릭 가능해지는 것을 확인합니다.

    클릭 가능한 하이퍼링크 스크린샷

  3. XSS 트리거:

    • 편집기 내의 하이퍼링크를 클릭합니다.
    • XSS 페이로드가 트리거되어 새 탭에 경고 상자가 나타나는 것을 확인합니다.

    XSS 트리거됨 스크린샷

설정 지침

아래 단계를 따라 자신의 로컬 인스턴스를 설정하여 이 취약점을 테스트할 수 있습니다.

  1. CKEditor 4 다운로드:

    • CKEditor 4의 Full-Package 오픈 소스 에디션을 다운로드합니다.

    다운로드

  2. Open Link 플러그인 설치:

    • 여기에서 Open Link 플러그인 버전 1.0.4를 다운로드합니다.
    • 압축을 풀고 내용을 ckeditor/plugins/openlink 디렉터리에 배치합니다.

    OpenLink

  3. OpenLink 플러그인을 포함하도록 구성 업데이트:

    • CKEditor의 config.js 파일을 수정하여 끝에 다음 줄을 추가합니다:
    config.extraPlugins = 'openlink';
    config.linkShowTargetTab = false; // Hide link target tab
    config.openlink_modifier = 0; // No modifier for opening links
    config.openlink_enableReadOnly = true; // Allow links to open in read-only mode
    
    • config.js 예시:
    CKEDITOR.editorConfig = function( config ) {
        // Define changes to default configuration here.
        config.extraPlugins = 'openlink';
        config.linkShowTargetTab = false;
        config.openlink_modifier = 0;
        config.openlink_enableReadOnly = true;
    };
    
  4. HTML에 CKEditor 포함:

    • HTML 파일에 CKEditor 라이브러리가 포함되어 있는지 확인하세요.
    <!DOCTYPE html>
    <html>
    <head>
        <script src="path/to/ckeditor/ckeditor.js"></script>
    </head>
    <body>
        <textarea name="editor1" id="editor1"></textarea>
        <script>
            CKEDITOR.replace('editor1');
        </script>
    </body>
    </html>
    

    데모 페이지 스크린샷

결론

이 취약점은 CKEditor 4 코드베이스가 아닌 Open Link 플러그인의 코드베이스에서 발견되었습니다. 위의 POC는 CKEditor 4.*.*의 Open Link 플러그인을 통한 XSS 취약점 악용을 보여줍니다. 이 결함은 특수하게 조작된 링크를 통해 임의의 JavaScript 실행을 허용하여 심각한 보안 위험을 초래합니다.

보안 권고

  • Open Link 플러그인 유지관리자가 제공하는 공식 보안 권고는 https://github.com/mlewand/ckeditor-plugin-openlink/security/advisories/GHSA-rhxf-gvmh-hrxm에서 확인할 수 있습니다.

추가 안내

  • 에디터의 콘텐츠를 다른 곳에 표시하려는 경우, 항상 적절하게 필터링해야 합니다.
  • 링크의 onclick 속성의 경우, config.disallowedContent 구성 옵션을 통해 허용하지 않도록 설정할 수 있습니다:
config.disallowedContent = 'a[onclick]';

중요 링크

  • https://github.com/mlewand/ckeditor-plugin-openlink/security/advisories/GHSA-rhxf-gvmh-hrxm
  • https://nvd.nist.gov/vuln/detail/CVE-2024-37888
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-37888
  • https://7ragnarok7.github.io/CVE-2024-37888/
도구 다운로드