攻击者是如何接管Epic Games游戏平台上的任意Fortnite玩家账户的
在虚拟世界中,游戏开发商Epic Games出品的“Fortnite”是一款非常受欢迎的游戏。在这款游戏中,玩家们的任务是考验自己的耐力,因为他们要为获得保护自己安全从而成为“最后一个站着的人”的工具和武器而不懈战斗。
然而,在过去几周,安全研究人员在在Epic Games的在线平台中发现了多个安全漏洞,这些漏洞一旦被攻击者所利用,就能够接管任意游戏玩家的账户,查看他们的个人账户信息,购买V-bucks,即Fortnite的虚拟游戏货币,并监听和记录玩家在游戏内的聊天和背景对话信息。
Fortnite是由美国视频游戏开发商Epic Games开发的,估值介于50亿至80亿美元之间,其中几乎有一半都是来自这款游戏。随着财富的飞速增长,这款游戏已经吸引了网络罪犯的注意,并开始对游戏玩家下手。
这些骗局以前的手法是欺骗玩家进入伪造的网站,这些网站通常会承诺生成Fortnite的“V-Buck”游戏币,这种商品通常只能通过官方Fortnite商店获得,或者通过游戏本身获得。这些网站会诱骗玩家输入自己的游戏登录凭证,以及姓名、地址和信用卡数据等个人信息,并通过社交媒体广告进行传播,声称玩家可以“轻松并快速赚钱”。
然而,最近研究人员发了一种更为复杂和险恶的方法,它不需要用户交出任何登录细节信息。通过挖掘某些Epic Games子域中的安全漏洞,攻击者只需要让用户点击它们提供的链接,就可以发动XSS攻击。用户一旦点击这些恶意链接,甚至没有输入任何登录凭据,自己的Fortnite用户名和密码就会立即被攻击者所捕获。
相关的安全研究人员已经向Epic Games公司通报了该漏洞,并且负责任地部署了修复程序,以确保数百万玩家可以在安全的环境中继续玩游戏。
攻击演示视频
技术细节
研究人员发现,Epic Games公司名下有一些比较旧的子域名,例如“http://ut2004stats.epicgames.com”。实际上,漏洞的发现之旅,就是从这里开始的。
SQL注入攻击
对于子域名“http://ut2004stats.epicgames.com”,我们可以发送一个GET请求,其路径如下:“/serverstats.php?server=[some server code]”。
大家想一下,如果要在请求中添加符号‘,将会发生什么事情?
好了,不卖关子了,这时的响应是:“Server database error”!
这当然是一个很好的突破口,因为我们意识到,这很有可能是一个SQL注入漏洞(眼下,我们假设当前正在跟MySQL数据库打交道)。
研究表明,他们部署了一款WAF产品,并且,他们使用的是黑名单机制,而不是白名单机制。因此,我们面临的限制之一是无法查询多个系统表(例如“INFORMATION_SCHEMA”表)。
但是,如果我们可以使用系统变量(@@)的话,结果又会如何呢? 事实上,似乎有人已经忘记了它们的存在,因此,事情要比我们所希望的要好得多!
if((SUBSTR(query,from,length)=CHAR([char_number])),true,false)
通过Google进行搜索之后,我们发现“37514065”是一个有效的服务器代码。鉴于此,我们执行了如下所示的查询,看看会得到什么响应:
响应长4014字节,这表明该字符并没有出现在该查询中。另一方面,长12609字节的响应则意味着该字符的确出现在该查询结果中。
例如, if((SUBSTR(@@version,1,1)=CHAR(52)),37514065,0) 将返回4014字节的内容:
请求:
图1:初始SQL注入查询。
响应:
图2:来自初始SQL查询的4014字节响应。
当然,如果查询‘if((SUBSTR(@@version,1,1)=CHAR(53)),37514065,0)’,则会收到长12609字节的响应,这样的话,我们就能确定当前使用的是MySQL版本5。
图3:第2个SQL注入查询。
图4:SQL查询对应的长12609字节的响应。
事实证明,我们获得的这些数据,对于后面的研究是非常有帮助的。
跨站脚本攻击(XSS)
我们继续研究后,又发现子域“http://ut2004stats.epicgames.com”中含有一个名为“maps”的网页。我们猜测,该网页是用于显示按地图名称/ID排序的比赛统计信息的。
当查找XSS漏洞(包括反射型和/或存储型XSS漏洞)时,自然应该在页面中查找我们输入的反射——这正是我们在搜索组件中找到的。实际上,该页面的另一个功能是提供搜索栏,正好可以充当XSS
在虚拟世界中,游戏开发商Epic Games出品的“Fortnite”是一款非常受欢迎的游戏。在这款游戏中,玩家们的任务是考验自己的耐力,因为他们要为获得保护自己安全从而成为“最后一个站着的人”的工具和武器而不懈战斗。
然而,在过去几周,安全研究人员在在Epic Games的在线平台中发现了多个安全漏洞,这些漏洞一旦被攻击者所利用,就能够接管任意游戏玩家的账户,查看他们的个人账户信息,购买V-bucks,即Fortnite的虚拟游戏货币,并监听和记录玩家在游戏内的聊天和背景对话信息。
Fortnite是由美国视频游戏开发商Epic Games开发的,估值介于50亿至80亿美元之间,其中几乎有一半都是来自这款游戏。随着财富的飞速增长,这款游戏已经吸引了网络罪犯的注意,并开始对游戏玩家下手。
这些骗局以前的手法是欺骗玩家进入伪造的网站,这些网站通常会承诺生成Fortnite的“V-Buck”游戏币,这种商品通常只能通过官方Fortnite商店获得,或者通过游戏本身获得。这些网站会诱骗玩家输入自己的游戏登录凭证,以及姓名、地址和信用卡数据等个人信息,并通过社交媒体广告进行传播,声称玩家可以“轻松并快速赚钱”。 内容来自无奈安全网
然而,最近研究人员发了一种更为复杂和险恶的方法,它不需要用户交出任何登录细节信息。通过挖掘某些Epic Games子域中的安全漏洞,攻击者只需要让用户点击它们提供的链接,就可以发动XSS攻击。用户一旦点击这些恶意链接,甚至没有输入任何登录凭据,自己的Fortnite用户名和密码就会立即被攻击者所捕获。
相关的安全研究人员已经向Epic Games公司通报了该漏洞,并且负责任地部署了修复程序,以确保数百万玩家可以在安全的环境中继续玩游戏。
攻击演示视频
技术细节
研究人员发现,Epic Games公司名下有一些比较旧的子域名,例如“http://ut2004stats.epicgames.com”。实际上,漏洞的发现之旅,就是从这里开始的。
SQL注入攻击
对于子域名“http://ut2004stats.epicgames.com”,我们可以发送一个GET请求,其路径如下:“/serverstats.php?server=[some server code]”。
大家想一下,如果要在请求中添加符号‘,将会发生什么事情? 无奈人生安全网
好了,不卖关子了,这时的响应是:“Server database error”!
这当然是一个很好的突破口,因为我们意识到,这很有可能是一个SQL注入漏洞(眼下,我们假设当前正在跟MySQL数据库打交道)。
研究表明,他们部署了一款WAF产品,并且,他们使用的是黑名单机制,而不是白名单机制。因此,我们面临的限制之一是无法查询多个系统表(例如“INFORMATION_SCHEMA”表)。
但是,如果我们可以使用系统变量(@@)的话,结果又会如何呢? 事实上,似乎有人已经忘记了它们的存在,因此,事情要比我们所希望的要好得多!
if((SUBSTR(query,from,length)=CHAR([char_number])),true,false)
通过Google进行搜索之后,我们发现“37514065”是一个有效的服务器代码。鉴于此,我们执行了如下所示的查询,看看会得到什么响应:
响应长4014字节,这表明该字符并没有出现在该查询中。另一方面,长12609字节的响应则意味着该字符的确出现在该查询结果中。
例如, if((SUBSTR(@@version,1,1)=CHAR(52)),37514065,0) 将返回4014字节的内容:
请求:
图1:初始SQL注入查询。
响应:
图2:来自初始SQL查询的4014字节响应。
当然,如果查询‘if((SUBSTR(@@version,1,1)=CHAR(53)),37514065,0)’,则会收到长12609字节的响应,这样的话,我们就能确定当前使用的是MySQL版本5。
图3:第2个SQL注入查询。
图4:SQL查询对应的长12609字节的响应。
事实证明,我们获得的这些数据,对于后面的研究是非常有帮助的。
跨站脚本攻击(XSS)
我们继续研究后,又发现子域“http://ut2004stats.epicgames.com”中含有一个名为“maps”的网页。我们猜测,该网页是用于显示按地图名称/ID排序的比赛统计信息的。
当查找XSS漏洞(包括反射型和/或存储型XSS漏洞)时,自然应该在页面中查找我们输入的反射——这正是我们在搜索组件中找到的。实际上,该页面的另一个功能是提供搜索栏,正好可以充当XSS
www.wnhack.com