内容简介: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内部信息泄露漏洞
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Practical Django Projects, Second Edition
James Bennett / Apress / 2009 / 44.99
Build a django content management system, blog, and social networking site with James Bennett as he introduces version 1.1 of the popular Django framework. You’ll work through the development of ea......一起来看看 《Practical Django Projects, Second Edition》 这本书的介绍吧!