对FCKEditor = 2.6.4 通杀 exploit 的分析
Author: handt
site :upload/2011/3/201103240211173836.jpg” border=”0″ small=”0″ alt=”" />
0×01 exploit 使用演示
在 /phpweb 目录下建立文件vuln.php ,将 [1] 中给出的exploit代码复制进去,保存。
确保你的php.exe在环境变量中,在/phpweb目录shift+右键,打开命令行,输入:
php vuln.php
出现使用提示:
本地的fckeditor路径为 /htdocs/js/fckeditor/editor……
所以输入命令为:
php vuln.php 127.0.0.1 /js/fckeditor/
是config.php文件中没有开启上传功能,ok,修改config.php第30行:$Config['Enabled'] = false;
再次输入 php vuln.php 127.0.0.1 /js/fckeditor/
看来是遇到死循环了,没办法,自己打印一些中间信息进行查看,在connector.php文件中对传入的三个参数进行简单处理后调用了
FileUpload( $sResourceType, $sCurrentFolder, $sCommand ) ;
这里三个参数值分别为:Image,/fuck.php .gif/,FileUpload 。
FileUpload()在commands.php中定义:
function FileUpload( $resourceType, $currentFolder, $sCommand )
{
if (!isset($_FILES)) {
global $_FILES;
}
$sErrorNumber = ’0′ ;
$sFileName = ” ;
echo ‘#4#’;
if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
{
echo ‘#5#’;
global $Config ;
$oFile = $_FILES['NewFile'] ;
echo ‘#10#’;
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder, $sCommand ) ;
通过打印 #x# 的提示信息,可以判断出问题出在ServerMapFolder()函数上,该函数在io.php中定义:
function ServerMapFolder( $resourceType, $folderPath, $sCommand )
{
// Get the resource type directory.
$sResourceTypePath = GetResourceTypeDirectory( $resourceType, $sCommand ) ;
再看GetResourceTypeDirectory()的代码:
function GetResourceTypeDirectory( $resourceType, $sCommand )
{
global $Config ;
if ( $sCommand == “QuickUpload”)
{
if ( strlen( $Config['QuickUploadAbsolutePath'][$resourceType] ) > 0 )
return $Config['QuickUploadAbsolutePath'][$resourceType] ;
// Map the “UserFiles” path to a local directory.
return Server_MapPath( $Config['QuickUploadPath'][$resourceType] ) ;
}
else
{
if ( strlen( $Config['FileTypesAbsolutePath'][$resourceType] ) > 0 )
return $Config['FileTypesAbsolutePath'][$resourceType] ;
// Map the “UserFiles” path to a local directory.
return Server_MapPath( $Config['FileTypesPath'][$resourceType] ) ;
}
}
最后,路径信息落到了Server_MapPath()里面,这里$Config['FileTypesPath'][$resourceType] 值在config.php中设置,此处为
$Config['FileTypesPath']['Image']的值,看看Server_MapPath()的内容:
function Server_MapPath( $path )
{
// This function is available only for Apache
if ( function_exists( ‘apache_lookup_uri’ ) )
{
echo ‘func exist!!’;
echo $path; // 注意,这里打印的信息
$info = apache_lookup_uri( $path ) ;
return $info->filename . $info->path_info ;
}
// This isn’t correct but for the moment there’s no other solution
// If this script is under a virtual directory or symlink it will detect the problem and stop
return GetRootPath() . $path ;
}
函数中$path打印的值为:/userfiles/image/ 很正常,而最后返回的值为/index.php/userfiles/image/,显然是因为function_exists( ‘apache_lookup_uri’ )为true,导致$info->filename执行,导致结果错误。
注释掉 return $info->filename . $info->path_info
再次执行:
php vuln.php 127.0.0.1 /js/fckeditor/
ok,让人欣喜的结果出来了,看看/htdocs/userfiles/image目录吧:
现在小马已经写入服务器,接下来就是用客户端连接了。这里,推荐大家使用”中国菜刀“这款工具,可以直接对php、asp、aspx的一句话木马进行连接:
看到效果了吧:
0×02 实战
这个因为比较危险,所以具体的过程和方式就不详细叙述了。
总之,通过自己的实战证明,这个exploit绝对可以拿到webshell,只是概率并不高,需要耐心和良好的google关键字。
0×03 成因分析
0×01中只是演示了利用过程,下面对背后的原理进行分析。水平有限,错误的地方还请指出。
待有时间了补充
0×04 小结
在使用中自己想深入了解的地方有:
1.“一句话木马客户端”的原理,以及如何编写木马客户端。
2.漏洞的发掘过程,目前企业界好像很流行fuzzing测试,但是这种具体的程序怎么进行测试我还是不了解,有知道的朋友还请不吝赐教: mail2gw@qq.com
本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/528236,如需转载请自行联系原作者
对FCKEditor = 2.6.4 通杀 exploit 的分析相关推荐
- iis+php解析漏洞修复,IIS7.0畸形解析漏洞通杀0day
IIS7.0畸形解析0day通杀漏洞,和Nginx上次的0day一样.使用iis7.0的注意了.临时解决办法:关闭cgi.fix_pathinfo为0 Nginx好像又爆0day了,windows下可 ...
- 易想团购 注入 user.php,易想团购系统通杀SQL注入漏洞分析及利用漏洞预警 -电脑资料...
刚打开红黑看到J8基友写的一个{易想团购系统 最新版 通杀}的文章,看他贴的代码里面有个get_client_ip()函数,哈哈,我猜没过滤,果断下了一套程序, 找到get_client_ip()函数 ...
- 恶意软件伪装成系统更新,通杀Win Mac Linux三大系统,隐藏半年才被发现
晓查 发自 凹非寺 量子位 | 公众号 QbitAI 能同时攻击Windows.Mac.Linux三大操作系统的恶意软件出现了. 虽然"全平台通杀"病毒并不常见,但是安全公司Int ...
- 人类已无法阻挡AI?围棋后AI再破最强人类堡垒,通杀智力比赛
据美国<科学>杂志报道,一部名叫Pluribus的计算机人工智能程序又突破了人类的一个智力领域--6人德州扑克,这标志着计算机已经通杀了人类主流的棋牌智力比赛. 在卡内基梅隆大学担任计算机 ...
- 安全现状:从通杀到专杀
传统的盗号木马在减少,钓鱼等安全隐患则还在逐步上升.日前,腾讯副总裁曾宇在出席AVAR2012亚洲反病毒大会时表示,安全行业的发展有一个大的趋势,杀毒软件正在从"通杀"的格局慢慢转 ...
- e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过
话说文章写得菜不要紧,首先标题要跟大牛一样! 作者:单恋一支花 出自:t00ls 转载请注明出处,如有雷同,纯属别人抄袭,嘿嘿! 一:写在前面 今天晚上想老婆了,失眠了,蛋裂之余,进吐司寻找基友,惊现 ...
- X86逆向教程2:提取按钮通杀特征码
本章我们将学习特征码的提取与定位,特征码是软件中一段固定的具有标志性的代码片段,特征码的用途非常广泛,最常见的就是杀毒软件的查杀了,查杀就是根据特征码定位技术实现的,再比如木马的免杀也是修改了特征码的 ...
- /plus/recommend.php sql注入漏洞,DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 -
DedeCMS 全版本通杀SQL注入漏洞利用代码及工具 目前官方最新版已修复该漏洞 V5.7.37 GBK正式版20140228常规更新补丁 http://www.dedecms.com/pl/ ht ...
- 通用滑块识别-通杀滑块
遇到滑块问题 在写爬虫的时候,经常会遇到滑块问题,很多次都想过尝试如何攻破滑块,但是每次都没成功,除了最开始的极验滑块,当时通过原图和滑块图的对比,能够得出缺口坐标,但是随着极验.网易.腾讯滑块的更新 ...
最新文章
- IIS7 上配置运行 Ruby CGI环境
- 第 3 章 第 2 题 求级数问题 递归法实现
- MyEclipse Build path contains duplicate entry
- 跟我一起学.NetCore之熟悉的接口权限验证不能少(Jwt)
- 【Pytorch神经网络实战案例】24 基于迁移学习识别多种鸟类(CUB-200数据集)
- Android架构实例分析之编写hello驱动的HAL层代码
- FlashDevelop 遇到的Process not responding 问题
- php和python-浅析PHP与Python进行数据交互
- 《高效对话》— 综合素质提升书籍
- 采购入库单参照采购订单时未带入供应商
- Excel 条件格式应用及原理
- P沟道mos管作为开关的条件(GS GS(TH))
- jekenis+maven(nodejs)+svn自动化部署(前后端)
- python+appium判断元素存在_python+appium 查找某个元素find_element()并click()点击,正向判断与反判断的方法封装...
- 使用谷歌提供的html5shiv.js解决
- diskgenius重新分区教程
- 超牛!用WIFI控制的摇控汽车
- 承德石油高等专科学校计算机20019年,承德石油高等专科学校2019年高职单招录取人数...
- 程序员下班电脑不关机的5大原因,你中招了吗?《表单提交》
- Java笔记之abstract类和abstract方法