Rarible NFT安全漏洞可以窃取加密货币
2022-4-29 11:11:0 Author: www.4hou.com(查看原文) 阅读量:19 收藏

Rarible NFT安全漏洞可以用控制用户钱包,窃取加密货币。

Check Point研究人员在Rarible NFT市场中发现一个安全漏洞,攻击者利用该漏洞可以控制用户加密货币钱包。

背景

Rarible是一个NFT市场,允许用户创建、购买和出售数字NFT艺术品。该公司2021年成交额为2.73亿美元,是全球最大的NFT市场之一。

Check Point研究人员在Rarible NFT市场中发现一个设计上的安全漏洞,攻击者利用该漏洞可以控制用户的加密货币钱包。首先诱使用户点击恶意NFT,然后就可以接管用户钱包中的账户,包括账户中的资金。

漏洞技术细节

NFT有一个EIP-721的标准,提供了追踪和追忆NFT的基本功能。该标准中有一个名为setApprovalForAll的函数,可以指定谁被授权来控制你的token或NFT,这一功能的设计目的是允许第三方以用户的名义控制NFT或token。

图1: SetApprovalForAll示例

从设计上来看,该函数是非常危险的,因为用户在被诱使签署后就允许任何人来控制其NFT了。大多数情况下,用户签署时并不明确签署后的权限问题,而是认为这只是普通的交易。

 

图2 Metamask SetApprovalForAll 交易

攻击者常常在钓鱼攻击中使用此类交易,而当其来自NFT市场平台时,就变得更加危险。

Rarible NFT市场平台允许任何人购买和出售NFT,而NFT的扩展名可以是PNG、GIF、SVG、MP4、WEBM、MP3,大小限制为100 MB。

为进行测试,研究人员创建了一个简单的SVG文件,嵌入payload,并上传:

与该NFT对应的链接为:

https://rarible.com/token/0xc9154424B823b10579895cCBE442d41b9Abd96Ed:95940970306686048929819095111797470789103351265739090847752668988066603466762?tab=details

点击该NFT后会在新标签页打开一个页面,点击下拉菜单中的IPFS链接,JS代码就会执行。研究人员发现该钱包交易的运行甚至不需要再相同的域中,因此也不需要任何的隐私信息,如cookie或session,只需要受害者钱包,然后攻击者就可以使用JSON-RPC来滥用它。

Payload首先会使用Ethereum API “tokennfttx”检查受害者有哪些NFT:

然后遍历所有NFT,发送setApprovalForAll 交易给钱包。

在本例中,研究人员主要关注BoredApeClub合约:

 点击确认按钮后,攻击者就有受害者所有NFT的访问权限:

然后攻击者可以通过boardApeClub 合约的transferFrom动作来转移所有的NFT到其账户,因为受害者已经允许其这么做了:

4月初,有攻击者使用相同的攻击方法窃取了周杰伦的NFT。攻击者诱使周杰伦点击setApprovalForAll请求,授予其对周杰伦BoardAppeNFT的3738 NFT的访问权限,该交易为:

周杰伦提交给请求并授予攻击者对NFT的访问权限后,攻击者就将NFT转到了攻击者控制的钱包地址0xe34f004bdef6f069b92dc299587d6c8a731072da,随后将NFT出售。

安全建议

近几个月来,针对NFT的攻击越来越多。研究人员建议:

用户在签署请求前要进行检查。NFT用户应该意识到有不同的钱包请求,其中部分是连接到钱包的,部分是授予其NFT和token的访问权限的。

如果有任何疑虑,建议用户拒绝签署。

本文翻译自:https://research.checkpoint.com/2022/check-point-research-detects-vulnerability-in-the-rarible-nft-marketplace-preventing-risk-of-account-take-over-and-cryptocurrency-theft/如若转载,请注明原文地址


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