人不可能十全十美,十分能耐使七分,留下三分给儿孙。
俗话说得好
FCKeditor_v2.4.3
1、前言
常见的文本编辑器如FCKeditor、Ewebeditor、UEditor、KindEditor、XHeditor等,因其包含有文件上传接口,导致经常出现安全缺陷。
这里主要对 FCKeditor 编辑器的历史文件上传漏洞做复现。
2、FCKeditor常用上传地址
fckeditor/editor/filemanager/connectors/test.html
fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector
fckeditor/editor/filemanager/upload/test.html
fckeditor/editor/filemanager/browser/default/connectors/test.html
fckeditor/editor/filemanager/connectors/uploadtest.html
3、漏洞复现
下载 FCKeditor_2.4.3 源码,用 phpstudy 搭建。
通过以下路径可查看编辑器的版本
① fckeditor/_whatsnew.html
② fckeditor/editor/dialog/fck_about.html
漏洞出现的页面
fckeditor/editor/filemanager/browser/default/connectors/test.html
直接上传 PHP 一句话被拦截
Burpsuite截包,在文件后缀名后面添加空格绕过后端限制。
上传成功
点击 "Get Folders and Files" 得到上传文件的存储路径。
访问一句话脚本成功解析。
4、源码分析
这里使用 " seay 源码审计系统" 跟踪参数。
将函数定位到 command.php 文件。
接下来再定位到 $Config 参数
对参数进行全局搜索
定位到 config.php 文件
在 config.php 文件得知上传文件后缀名的黑名单。
以上的文件上传绕过姿势是采用 Windows 文件的命名规则,在后缀名后不能出现注入点,空格等特殊字符,使用 .php(空格)然过黑名单,当文件落地后 Windows 会自动将空格删除。
phpok_v4.8.338
1、漏洞编号
CVE-2018-12491
2、漏洞复现
安装系统的时候注意管理员的账密,这里是 admin/admin。
进行后台登录界面,可以得到网站的版本。
进入【工具】-->【附件分类管理】。
在第一行点击【编辑】。
添加一个 PHP 后缀,点击【提交】
在左侧栏目【内容管理】 -- 【咨讯中心】
点击【+】号添加文章。
可以上传 PHP 文件。
点击【预览】,查看文件上传目录。res/202010/02/7db5d12ece8242a3.php
访问上传的一句话,成功解析。
phpok_v4.9.015
该版本的 phpok 存在任意文件上传和任意文件删除漏洞。
1、任意文件上传
进入后台能看到版本号。
进入【模块管理】--【导入模块】,发现需要导入 ZIP 文件。
将创建的一句话压缩成 zip 文件,上传,出现错误。
审计源码发现出现漏洞的文件在于framework\admin\module_control.php
不管上传的文件能不能符合规格,将压缩包解压后直接保存在 data/cache 目录下。
访问一句话文件,解析成功。
2、任意文件删除
访问【设置】--【风格管理】--【文件管理】
随便点击删除一个文件,用 Burpsuite 截包。
将文件修改为 ../../index.php,发现删除成功
访问网站首页发现 index.php 不可访问。
尾声
我是匠心,一个在清流旁默默磨剑的匠人,期待那一天能利刃出鞘,仗剑走江湖。