导语:介绍 最近,Fidus团队的成员注意到OnePlus论坛上一个有趣的博客帖子,该帖讨论了最近在两张信用卡上进行的欺诈尝试。该论坛用户表示,这两张卡唯一线上使用的地方是在2017年11月OnePlus网站上,他们继续询问该论坛的其他成员是否也有同样

介绍

最近,Fidus团队的成员注意到OnePlus论坛上一个有趣的博客帖子,该帖讨论了最近在两张信用卡上进行的欺诈尝试。该论坛用户表示,这两张卡唯一线上使用的地方是在2017年11月OnePlus网站上,他们继续询问该论坛的其他成员是否也有同样的问题(其他成员也遇到了同样的问题)。

这一调查结果并没有证实OnePlus手机已经遭受了攻击。相反,他们会研究当前的支付流程结构,以及如何实现这一攻击。

攻击是怎么发生的?

我们在OnePlus网站上一步步的完成了整个支付流程,以便了解在这个过程中发生了什么。有趣的是,请求客户信用卡详细信息的支付页面是在ON-SITE托管的,而不是第三方支付处理程序的iFrame。这意味着所有的支付细节,虽然支付过程短暂,但是通过OnePlus网站,可以被攻击者拦截。当支付细节被发送到第三方供应商的表单提交时,在数据被加密之前,恶意代码能够通过一个窗口窃取信用卡信息。

0.png

很快出现了两个突出的问题:

· OnePlus似乎不符合PCI规范,该网站上没有在任何地方提到过这个问题

· OnePlus提到他们不处理任何信用卡付款,但是事实并不是这样

打破付款流程

对于Magento电子商务平台来说,信用卡欺诈并不新鲜。Sucuri在2015年的博客中就谈到了这个问题。

攻击者使用两种方法从电子商务商店中获取信用卡信息。第一种是通过客户端使用Javascript实现。就是通过托管在web页面上的恶意JavaScript,使客户的机器在黑客控制的情况下,悄悄地向服务器发送一个精心设计的请求。此请求包括所有的账单信息以及信用卡所有的详细信息。我们查看了OnePlus签出的页面源代码,没有任何恶意JavaScript被使用的痕迹——这就排除了黑客使用JavaScript的可能性。

Sucuri博客中描述的黑客常用的另一种方法是,修改app/code/core/Mage/Payment/Model/Method/Cc.php文件。这种方法需要对服务器进行shell访问,并导致一个严重的攻击。

php文件处理信用卡详细信息在电子商务web服务器和第三方支付提供商之间的转换。攻击者可以在此文件中放置代码,允许支付细节被攻击,并发送到由攻击者控制的离线位置。由于这一过程是在cc.php内的prepareSave()函数中发生的,因此卡片的细节还没有被加密,并且处于危险之中。下面是一个恶意代码示例:

00.png

下面的图片突出显示了攻击者能够对原始信用卡数据进行攻击。

000.png

影响

就目前的情况来看,在OnePlus论坛上关于受影响用户的调查显示,有超过39名用户抱怨最近的欺诈行为。很多Reddit用户也抱怨过同样的问题。

9.png

99.png

999.png

twitter用户也开始质疑这个潜在的问题。

9999.png

如何保护自己?

防止信用卡欺诈最安全的选择是使用一个离线(OFF-SITE)支付处理程序,或者是一个提供带有出账页面的iFrame集成的程序。这样就免除了电子商务网站的所有责任,也意味着万一出现攻击,支付数据也是安全的。第三方支付提供商已经创建了PCI兼容的沙箱,目的是为了安全地接受信用卡支付;可以利用该沙箱。

此外,强烈建议对你的电子商务网站进行常规的渗透测试,以发现任何潜在的安全风险。

进一步更新

在对支付系统进行进一步审查时,应该注意的是,OnePlus目前正在使用CyberSource Magento附加组件,如下所示:

8.png

在他们的Magento市场页面上,CyberSource指出所有的数据提交都是在客户端浏览器内完成的,而且从来没有涉及到电子商务基础设施(Fidus目前没有一个环境来测试此声明)。

如果此声明是真的,就留下了两个潜在的攻击途径,并排除了Cc.php理论:

· 在OnePlus的电子商务网站上恶意托管JavaScript,已经被移除。尝试使用Archive.org验证这个理论,但是支付页面没有被编入索引。

· CyberSource本身就是网络攻击的受害者。如果此声明是真的,那么这个问题就比预期的要大得多。

值得注意的是,CyberSource在他们的数据表中有一个声明:

安全的接受保密命令POST限制了您支付数据的暴露,这降低了您的PCI DSS范围,因为许多控制可能不再适用。对于某些业务,这可能意味着必须完成PCI-DSS自评估问卷(SAQ),而不是全面的审计。然而,没有任何支付解决方案会否定验证遵从性的需求。您应该咨询您获取信用卡的银行,以评估您的组织所要求的遵从级别。

如何利用CyberSource处理支付以及如何利用这一问题

· 当客户点击订单按钮时,客户的浏览器会向OnePlus电子商务服务器发送一个请求

· OnePlus电子商务服务器以HTML的形式响应服务器,包括支付表单

· 客户将其支付细节输入浏览器并单击submit按钮

· 支付数据直接从客户的浏览器传输到CyberSource

在这一点上,OnePlus电子商务服务器用一个包含支付表单的HTML页面来响应客户,恶意的JavaScript可以被注入,以攻击客户的任何输入信息,包括信用卡数据。

源链接

Hacking more

...