• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Rarible NFT安全漏洞可以窃取加密货币


Recommended Posts

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。

1649988558165166.jpg

图1: SetApprovalForAll示例

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

 1649988558991572.jpg

图2 Metamask SetApprovalForAll 交易

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

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

1649988559996584.jpg

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

与该NFT对应的链接为:

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

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

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

1649988560213377.jpg

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

X.jpg

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

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

1649988564140925.jpg

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

1649988565210540.jpg

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

1649988567386824.jpg

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

安全建议

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

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

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

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now