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

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

缺陷编号:wooyun-2012-09436

漏洞标题:免费使用腾讯离线下载业务下载超大文件

相关厂商:腾讯

漏洞作者: 牛奶坦克

提交时间:2012-07-10 19:04

修复时间:2012-08-24 19:04

公开时间:2012-08-24 19:04

漏洞类型:设计错误/逻辑缺陷

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-07-10: 细节已通知厂商并且等待厂商处理中
2012-07-11: 厂商已经确认,细节仅向厂商公开
2012-07-14: 细节向第三方安全合作伙伴开放
2012-09-04: 细节向核心白帽子及相关领域专家公开
2012-09-14: 细节向普通白帽子公开
2012-09-24: 细节向实习白帽子公开
2012-08-24: 细节向公众公开

简要描述:

腾讯离线下载存在一点小逻辑错误,导致用户可以免费使用下载大文件。

详细说明:

非会员是无法使用QQ离线下载业务的,但是登陆lixian.qq.com后会让你试用,这个试用的规则是:
试用90天,容量为3G。
这个要求其实已经可以满足大部分人的临时需求了,但是如果超过3G呢?离线下载会提示我们空间不足,恰巧今天想下载一个大文件(4.1G),看了下离线下载的逻辑,发现点小问题,可以突破这个3G空间大小的限制!

漏洞证明:

利用方式:
1,首先添加这个大文件的种子,有两个文件,其中一个相对小点,可以直接添加,我们先加这个小文件的离线,前面两个包不去考虑,因为尝试修改大小并未成功,而且这个种子的hash不知是如何计算的。


主要看第三个包

POST /handler/lixian/get_http_url.php HTTP/1.1
Host: lixian.qq.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:14.0) Gecko/20100101 Firefox/14.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-cn,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://lixian.qq.com/main.html
Content-Length: 104
Cookie: [马赛克]
Pragma: no-cache
Cache-Control: no-cache
hash=2796ccd5c8bd7456321164c0c1386e03cdc5ab3e&filename=os_x_facebook_developer_preview.dmg&browser=other


2,看名字应该是获取下载链接的url,hash是比较重要的一个参数(2796ccd5c8bd7456321164c0c1386e03cdc5ab3e),但是这个hash是什么?怎么生成的?会不会是文件的hash值?打开论坛提供下载信息的地方,看到这里

4.1G  OS X Mountain Lion DP GM.dmg
329K os_x_facebook_developer_preview.dmg
已下载完成,校验值如下:
校验:
MD5 (InstallESD.dmg) = 8b4869920cd740414fe6b7e3f0b1be3e
MD5 (OS X Mountain Lion DP GM.dmg) = 802bf873b7eb5c9a4dccc1962e96fdba
MD5 (os_x_facebook_developer_preview.dmg) = d565a9ca199077908bef822277551cee
sha1
061fa407398e268a80dcfdcb7c8dc37cd71a8700 OS X Mountain Lion DP GM.dmg
2796ccd5c8bd7456321164c0c1386e03cdc5ab3e os_x_facebook_developer_preview.dmg


3,Bingo!看来这个hash就是文件的sha1值,利用这个值匹配服务器上已经离线完的文件,那么我替换成那个4.1G文件的sha1和文件名重新提交,获取url看看。
4,提交如图


但是不要高兴的太早,因为我们没有走一个合法的离线流程,所以其中那个http链接是无效的。

$ curl http://xflxsrc.store.qq.com:443/ftn_handler/e9470017b2d667850026c93437f328180fd03ee55d5ccc8621d8bbd177d4471216e8b4ee072c3c059122206e09d1f36d4176dda031ba2f00c729bef4d365c636/OS%20X%20Mountain%20Lion%20DP%20GM.dmg
<?xml version="1.0" encoding="UTF-8" ?>
<response result="-29180" >
</response>


但也不要失望,因为下面还有个qq download(qqdl:)协议的地址,把这个地址填入QQ离线下载中



5,87MB不用担心,点击下载吧



也可以直接试用qqdl那个地址下载,突破了试用3G空间的限制,下大文件飙速度了。
6,其实qqdl的协议那里貌似也存在些问题,下班了,有空在研究。

修复方案:

最近有个龙泽洛拉什么的,大家懂。
PS:并不是什么安全BUG,腾讯自己瞧着办吧。

版权声明:转载请注明来源 牛奶坦克@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2012-07-11 11:29

厂商回复:

多谢反馈,我们正在跟进处理中~

最新状态:

暂无