内容简介:Steam是Valve公司旗下综合的数字游戏社交平台,玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。为了方便社区玩家的交流沟通,Steam除了具备电脑手机客户端的聊天功能外,还构建有一个与客户端功能相同的网页版聊天系统(Steam聊天客户端基于React开发而成,React算是Javascript应用框架中具备多种强大安全性的良好架构了,它能一定程度上规避某些不安全函数的应用。另外,Steam聊天客户端还部署了内容安全策略(CSP),且在其中应用了’unsafe-inline’策略,而本来’uns
随着视频游戏行业的持续膨胀,Valve的Steam平台仍然是游戏玩家们的热门市场之一,在某种程度上,这也成为了黑客们攻击目标。最近众测社区披露的一个Steam客户端漏洞,就能让攻击者在Steam用户的电脑系统上实现从存储型XSS到远程代码执行(RCE)的攻击,可导致个人信息和进一步的系统控制。最终,该漏洞获得了Valve官方$7500美金的奖励。
Steam聊天客户端介绍
Steam是Valve公司旗下综合的数字游戏社交平台,玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。为了方便社区玩家的交流沟通,Steam除了具备电脑手机客户端的聊天功能外,还构建有一个与客户端功能相同的网页版聊天系统( https://steamcommunity.com/chat ),该网页聊天系统具有的多媒体元素和功能与客户端一致。
Steam聊天客户端基于React开发而成,React算是Javascript应用框架中具备多种强大安全性的良好架构了,它能一定程度上规避某些不安全函数的应用。另外,Steam聊天客户端还部署了内容安全策略(CSP),且在其中应用了’unsafe-inline’策略,而本来’unsafe-inline’就会带来XSS风险,这就有点意思了。
CSP的’ unsafe-inline ‘策略:允许使用内联资源,如内联的 <script> 元素、javascript: URL、内联的事件处理函数和内联的 <style> 元素。(注意: 使用 ‘unsafe-inline’ 和 ‘unsafe-eval’ 都是不安全的,它们会使您的网站有跨站脚本攻击风险。)
漏洞发现
该漏洞由年轻的英国国家网络安全中心(National Cyber Security Centre)安全工程师Thomas Shadwell发现,他曾获得福布斯2018年评选的“欧洲30名30岁以下优秀工程师”称号。
Shadwell的 漏洞报告 显示,他利用了Chrome DevTool工具、XSS Palyload和允许第三方站点URL嵌入的oEmbed格式发现了该漏洞。由于客户端和网页版聊天系统的元素和功能模式相同,为了更好的调试请求,Shadwell选择了网页版聊天系统 https://steamcommunity.com/chat 作为突破口,客户端和网页版存在的最终测试漏洞相同。
Steam聊天客户端可以发送和接收BBcode格式的聊天消息,而这些消息会间接地映射为相应的HTML元素,特别是对任意URL都可使用类似[url]的BBcode标签,Shadwell发现[url=xxx]、[code] 和 [image]标签存在可利用风险,尤其是 [url=xxx] 未被安全过滤,可以嵌入任意链接,尽管React具备严格的XSS缓解防护措施,但并不能缓解[url=xxx]下类似 javascript: URI 的XSS攻击。
对该漏洞的利用场景为,攻击者只需向聊天群组玩家成员,发送一条经过构造的链接,当玩家点击了这条链接之后,就能触发漏洞实现攻击。如下PoC视频所示:
看不到?点 这里
严重的危害就是,攻击者可以在Steam聊天客户端的一些公共群组中广泛传播经过构造的恶意嵌入链接,如jarfile:..\..\..\..\..\..\..\..\Users\Username\Downloads\drive-by-download.jar,或是一些精巧页面,愿者点击上钩之后,就能利用该漏洞窃取受害者玩家的个人敏感信息,进行进一步的网络钓鱼攻击、勒索软件传播和系统破坏。
从XSS到RCE
在Shadwell对该漏洞的首次上报中,只发现了以上的XSS漏洞,但在他综合 前期对Steam客户端的漏洞发现 时,却发现可以利用
steam://openexternalforpid/10400/file:///C:/Windows/cmd.exe
构造RCE执行指令,实现对受害者系统的远程代码执行攻击。只用发送链接
[url=steam://openexternalforpid/10400/file:///C:/Windows/cmd.exe]click me[/url]
给目标受害者,只要对方点击,攻击就能成功。
该漏洞的根本原因出在Steam聊天客户端所谓的“丰富聊天内容”功能中,这也是现在很多流行的聊天应用程序中经常会内置的功能,而该漏洞也就是Steam应用了不安全的CSP 'unsafe-inline'策略所导致的。
据Shadwell透露,总体来说,Steam聊天客户端的安全设计还算不错,但问题出在对一些早前的架构采用了相同的安全设计,所以才导致了该漏洞。Shadwell还表示,Steam平台的游戏项目存在很多实际价值,所以在Steam上存在很多窃取他人游戏账户和资产的网络犯罪行为。更多漏洞细节请参考漏洞报告: Hackerone
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 挖洞姿势:浅析命令注入漏洞
- 挖洞经验 | Vine用户隐私信息泄露漏洞($7560)
- 挖洞经验 | 雅虎(Yahoo)的速率限制漏洞($2k)
- 挖洞经验 | 知名在线教育平台的IDOR漏洞
- 挖洞经验 | 不被PayPal待见的6个安全漏洞
- 挖洞经验 | 看我如何发现Paypal内部信息泄露漏洞
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Vue.js前端开发
陈陆扬 / 人民邮电出版社 / 2017-2-1 / CNY 45.00
本书分为10章,包括简介、基础特性、指令、过滤器、过渡、组件、状态管理、常用插件、工程实例和Weex打包。本书从简单的单个实例和基础语法,到工程实例,将系统地讲述Vue.js在项目中的适用场景和具体操作。本书的特点在于案例详实,使读者体会到框架的优点和便捷之处,提升开发效率,最后能将Vue.js运用到实际项目中,避免纸上谈兵的尴尬。一起来看看 《Vue.js前端开发》 这本书的介绍吧!