Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-37888 — 针对 CKEditor 4 的 Open Link 插件的 XSS PoC/Exploit | Kitploit
工具/GitHubGitHub/7ragnarok7/cve-2024-37888
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHub7ragnarok7/cve-2024-37888

CVE-2024-37888

针对 CKEditor 4 的 Open Link 插件的 XSS PoC/Exploit

查看仓库
41155天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

CVE-2024-37888

本仓库记录了由 Anurag Mondal(7Ragnarok7)于 2024 年 5 月 21 日发现并报告的 CVE-2024-37888 的漏洞详情与利用方式。

指标

  • CWE-79:网页生成期间输入中和不当(“跨站脚本”)
  • CVSS:6.1(中危)

漏洞概述

本概念验证(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. 插入 Payload:

    • 打开 CKEditor 实例并点击“Source”图标。

    • 在文本区域中插入以下 payload:

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

    Payload 插入截图

  2. 切换到所见即所得模式:

    • 再次点击“Source”图标以切换回所见即所得模式。
    • 观察超链接在编辑器内变为可点击状态。

    可点击超链接截图

  3. 触发 XSS:

    • 点击编辑器内的超链接。
    • 观察 XSS payload 被触发,并在新标签页中弹出警告框。

    XSS 触发截图

安装说明

你可以按照以下步骤搭建自己的本地实例来测试此漏洞。

  1. 下载 CKEditor 4:

    • 下载 CKEditor 4 的完整包开源版本。

    下载

  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>
    

    演示页面截图

结论

该漏洞是在 Open Link 插件的代码库中发现的,而非 CKEditor 4 代码库。上述 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/
下载工具