CKEditor 历史漏洞复现:CVE-2014-5191(无Poc)

Posted 南瓜__pumpkin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CKEditor 历史漏洞复现:CVE-2014-5191(无Poc)相关的知识,希望对你有一定的参考价值。

选择测试版本 4.4.2

根据官方公告的漏洞修复情况来看,第一个选择最好是 4.4.2。

安装 2015 年发布版本 4.4.2

npm 安装 - 未成功

访问 CKEditor 4 官方指南,查看 [Getting Started]模块。

新建 down-test 目录,测试不同命令的安装结果。

npm 安装命令执行结果
npm install ckeditor安装 ckeditor@4.12.1
npm install ckeditor4安装 ckeditor@4.16.2
npm install ckeditor@4.4.2Error: No matching version found for ckeditor@4.4.2
npm install ckeditor4@4.4.2同上 error,a package version that doesn’t exist.
bower 安装 - 成功

bower是一种包管理器,它可用于搜索、安装和卸载如javascripthtml、CSS之类的网络资源。它依赖于node.js和npm,如果要使用它需要先安装node.js和npm,因为node.js包含npm,所以只需要安装node.js即可。点击进入node官网

全局安装 bower:npm install -g bower,得到 bower@1.8.12。

安装 CKEditor 4.4.2:bower install ckeditor#4.4.2,安装成功。

页面引用 CKEditor

参考 本地搭建 CKEditor 4.16.2 并使用两种模式编写 demo(实验文)

使用相同的 demo 代码引用 CKEditor,但由于路径不对没能引用 CKEditor 4.4.2,如下图只是一个文本框 textarea

调整路径调用 CKEditor JS API ,效果如图所示,与 CKEditor 4.16.2 的效果图相同。

<script>alert(/xss/);</script> 的处理也与 CKEditor 4.16.2 相同。

测试 aaa ,CKEditor 仍然会添加 <p> 标签并闭合。

加载预览插件

2014 年 7 月, CKEditor 官网 4.4.3 发布公告

Security Updates:

   Fixed XSS vulnerability in the Preview plugin reported by Mario Heiderich of Cure53.

官网查看指引文档,找到 插件下载地址,在 Preview 下载插件,提供了插件安装教程。If you want to add the plugin manually, you will need to:

  1. Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example: http://example.com/ckeditor/plugins/preview

  2. Enable the plugin by using the extraPlugins configuration setting. Example:

    config.extraPlugins = ‘preview’;

  3. Download and configure all its dependencies, too: No additional dependencies.

发现本地有 preview 插件,打开 ckeditor.js,搜索 config.plugins,在字符串中间添加 plugins,。然后打开首页,可以看到在 [源码] 功能右边多了 [预览] 功能。

盲测漏洞

测试用例-无漏洞

测试数据: <script>alert(/xss/);</script>

预览窗口

直接打开该 URL,发现是空白页面,传递的字符串已经被删除。预览文件的前端源码,如下图所示,向文件写入 window.opener._cke_htmlToLoad,然后删除该字符串。

google 检索通告内容 Fixed XSS vulnerability in the Preview plugin reported by Mario Heiderich of Cure53,发现有同行整理了 CKEditor 的所有版本更新信息,可以偷懒不用自己爬取,下次一定。

查看了 google 检索结果前 5 页,没有找到公开的漏洞细节信息。

犯错

本地 preview 插件版本是 4.16.2,应该下载 4.4.2 版本。通过观察 URL 规则,找到 preview 4.2.2 。加载插件 preview_4.2.4 继续测试。

重新测试-无漏洞

测试数据:<script>alert(/xss/);</script>

测试效果与 preview 4.16.2 相同。查看预览窗口的源码,发现也被添加了 <p> 标签 ,且 < 被 HTML 编码。


参考 ckeditor自定义插件流程,简单看一遍 plugin.js 中 注册插件 CKEDITOR.plugins.add 等代码,暂时没看到什么东西。

源码模式:XSS通杀(伪漏洞)

直接 XSS 了奥,CKEditor 4.16.2 也直接 XSS 了。

寻找漏洞信息并测试

查找漏洞编号:CVE-2014-5191

参考:

盲测测不出来,只能寻找漏洞 Poc 来测试,以及反推漏洞场景和原理。

百度搜索关键词 ckeditor preview plugin xss

CKEditor 4.4.3版本的Preview插件存在跨站脚本漏洞,远程攻击者利用此漏洞可注入任意Web脚本或HTML,得知 CVE 编号。

查找 Poc

CVE、NVD-CVE - 无

提供漏洞细节的两个网站发生很大变化,找不到原文章。
http://secunia.com/advisories/60036
http://www.securityfocus.com/bid/69161

Github - 无

检索 CVE-2014-5191,无内容;
检索 ckeditor4.4,无内容。

Twitter - 无

检索 CVE-2014-5191,基本上都是 CVE 提供的两篇分析文章。

Nessus漏洞扫描插件:文件名是 websphere_portal_cve-2014-5191.nasl,插件ID是76943,Nessus Name 是 CKEditor Preview Plugin Unspecified XSS。

Google:cvedetails-Ckeditor 大全

检索 ckeditor 4.4.3 exploit,找到一个集中展示 Ckeditor CVE 漏洞的网站,可以用来参考复现 Ckeditor 漏洞。可惜提供的仍然是那两篇漏洞详情文章。

找到关于 ckeditor 4.4.7 的漏洞 exp,没有 4.4.3 前的 xss exp。

vuldb.com 好像卖 Poc,一个月 199 USDT……

Nessus插件

cat websphere_portal_cve-2014-5191.nasl,发现没有 Poc,如图 No exploit is required。

版本对比盲测

下一个漏洞吧,在 CVE-2014-5191 上花费太多时间了,而且产出希望不大。

以上是关于CKEditor 历史漏洞复现:CVE-2014-5191(无Poc)的主要内容,如果未能解决你的问题,请参考以下文章

心脏滴血漏洞复现(CVE-2014-0160)

Shellshock远程命令注入(CVE-2014-6271)漏洞复现

[CVE-2014-3704]Drupal 7.31 SQL注入漏洞分析与复现

心脏滴血漏洞搭建与复现修复(CVE-2014-0160)OpenSSL Heartbleed漏洞

(CVE-2014-0160) OpenSSL 心脏滴血漏洞

CKEditor 版本探测和爬取历史漏洞(整理文)