漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-099196
漏洞标题:迅雷游戏盒子可被中间人攻击导致持久性拒绝服务
相关厂商:迅雷
漏洞作者: MITM
提交时间:2015-03-03 12:47
修复时间:2015-06-01 13:56
公开时间:2015-06-01 13:56
漏洞类型:拒绝服务
危害等级:中
自评Rank:6
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-03: 细节已通知厂商并且等待厂商处理中
2015-03-03: 厂商已经确认,细节仅向厂商公开
2015-03-06: 细节向第三方安全合作伙伴开放
2015-04-27: 细节向核心白帽子及相关领域专家公开
2015-05-07: 细节向普通白帽子公开
2015-05-17: 细节向实习白帽子公开
2015-06-01: 细节向公众公开
简要描述:
迅雷游戏盒子可被中间人攻击导致持久性拒绝服务。版本号:2.2.21.0360
详细说明:
迅雷游戏盒子打开时会向http://v2.boxpage.niu.xunlei.com/v3/index.html发送请求。通过研究这个html文件,我发现window.external.SetConfigData()这个API可以写入本地配置文件,没有做限制。比如:window.external.SetConfigData("~XLGameBoxConfig~", "IsAutoRun", "true")可以使游戏盒子开机自动启动。这个本地文件保存在%APPDATA%\迅雷游戏\XLGameBox\Data\xggb_config.ini。因为没有用HTTPS,所以中间人可以劫持游戏盒子的网页请求,这样中间人即可任意写本地配置文件。我找了半天,没发现有特别危险的配置,比如代码执行,下载文件。我也不想就这么算了,所以那就破坏呗。所以我就用setInterval循环向配置文件里写入大量无用信息,实测1分钟可写130MB左右。因为程序每次启动时都会先读取配置文件,所以当这个文件非常大时,可以导致程序永远无法正常打开。实测200MB左右时,无响应2分钟才能打开。而且即使打开了,每次移动窗口时还会卡半天。
漏洞证明:
版本号:
劫持http://v2.boxpage.niu.xunlei.com/v3/index.html,返回下面内容:
然后运行程序,可以看到正在配置文件正在快速变大:
在没有攻击的环境下,再打开的时候:
即使打开了,移动一下窗口:
修复方案:
首先让网页直接修改本地文件是危险的,不能不重视中间人攻击。如果你们之后加个能够用来执行代码的配置,那就不止拒绝服务这么简单了。任何通过HTTP(非HTTPS)下载的页面是不能信任的。所以SetConfigData能不公开给网页就不公开,即使非要用,要么用HTTPS,强制HTTPS网页才能改设置;要么限制能够设置的内容(几选一的方式设置)。另外,GetConfigData应该在读文件之前检查文件大小,大到离谱的时候,就应当删除并用默认值覆盖,或者只取前几KB读。
版权声明:转载请注明来源 MITM@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-03-03 13:55
厂商回复:
感谢反馈!
最新状态:
暂无