金融科技平台漏洞或导致银行账户信息泄露
2022-4-18 11:45:0 Author: www.4hou.com(查看原文) 阅读量:26 收藏

研究人员发现,一个大型的金融技术(Fintech)平台的API中的一个服务器端请求伪造(SSRF)漏洞有可能会危及数百万银行账户的安全,攻击者能够通过控制客户的银行账户和资金进行犯罪。

研究人员在周四发表的一份报告中披露,Salt Security的Salt Labs团队在一个支持该组织平台资金转移功能的网页中的API中发现了这个漏洞,该功能允许客户将其平台上的账户中的钱转移到他们的银行账户内。

该公司被称为 "Acme Fintech",为各种规模的银行提供 "数字转型" 服务,并允许这些机构将传统的银行服务转换为在线服务。研究人员说,目前该平台已被整合到许多银行的系统中,因此它拥有数百万的每日活跃用户。

如果该漏洞被攻击者所利用,那么攻击者可能通过该平台来获得对银行系统的管理权限从而进行各种违法的活动。研究人员说,他们可以从那里泄露用户的个人数据,访问银行的详细资料和金融交易,并在未授权的情况下向自己的银行账户转账。

他们说,在发现该漏洞后,研究人员调查复现了他们的发现并向该组织提供了很好的缓解措施。

威胁攻击者的高额回报

API中的漏洞经常会被忽视,但Salt实验室的研究人员在报告中说,他们每天都会看到像这样的漏洞以及其他与API有关的漏洞。

事实上,根据该公司2022年第一季度的API安全状况报告,5%的组织在过去的12个月中经历了众多API安全事件。他们说,这一时期可以看出恶意的API流量在大幅增长。

Salt Security的研究人员在一份新闻声明中说,关键的SSRF漏洞在许多金融科技供应商和银行机构内普遍存在。API攻击正在变得越来越频繁和复杂。

研究人员说,金融科技公司特别容易受到攻击,因为他们的客户和合作伙伴需要依靠庞大的API网络来实现各种网站、移动应用程序和定制集成系统之间的互动。

研究人员写道,这反过来又使他们成为了 "API漏洞的攻击者的主要攻击目标",原因有二。

第一,他们的API整体功能非常丰富和复杂,这就意味着在开发中可能会出现错误或者忽略一些细节。第二,如果一个攻击者能够成功地滥用这种类型的平台,那么它潜在的利润是巨大的,因为它可能会控制数百万用户的银行账户和资金。

漏洞详情

研究人员在扫描和记录该组织网站上发送和接收的所有流量时发现了这个漏洞。在一个连接客户在各家银行之间进行转账的页面上,研究人员发现浏览器所调用的处理请求的API有问题。

这个API使用的是位于'/workflows/tasks/{TASK_GUID}/values'的端点,调用它的HTTP方法是PUT方法,而具体的请求数据是在HTTP正文部分发送的。

请求体还携带了一个JWT令牌,这是一个加密签名的密钥,可以让服务器知道谁是请求用户以及他有哪些权限。

研究人员解释说,该漏洞存在于发送资金转移所需数据的请求参数中,特别是一个名为 "InstitutionURL "的参数,这是一个需要用户提供的值。

在这种情况下,银行的网络服务器通过访问URL本身来处理用户提供的URL,如果它被插入到代码中,那么它会允许SSRF中的网络服务器调用任意一个URL。

SSRF漏洞的研究

研究人员通过伪造一个包含他们自己域名的恶意请求来复现这个漏洞。他们写道,向他们服务器发送的连接请求是成功的,这证明了服务器会盲目地信任通过这个参数所提供给它的域名,并同时向该URL发出请求。 

此外,进入他们服务器还需要包含一个用于认证的JWT令牌,但是这个令牌与原始请求中的令牌不同。

研究人员将新的JWT令牌嵌入到了他们之前遇到的一个名为"/accounts/account "的端点请求中,该请求允许他们从一个银行账户中检索信息。他们说,这一次他们返回了更多的用户信息。

研究人员透露,API端点识别了我们新的JWT管理令牌,并返回了整个平台的每个用户及其详细信息的列表。

他们说,用新的令牌再次尝试请求一个名为"/transactions/transactions "的端点,结果也允许他们访问银行系统中的每个用户的交易列表。

研究人员说,这是一个非常致命的漏洞,它完全侵害了每个银行用户的权益。如果攻击者发现了这个漏洞,他们可能会对该组织和其用户造成严重的损害。

Balmas说,Salt实验室希望,API漏洞的出现将会继续激励安全从业者更加仔细的研究他们的系统如何避免受到这种方式的攻击。

本文翻译自:https://threatpost.com/ssrf-flaw-fintech-bank-accounts/179247/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/rVzE
如有侵权请联系:admin#unsafe.sh