Homebayc游戏老调重弹,ERC1155的重入攻击又“现身”,Revest Finance被攻击事件简析

老调重弹,ERC1155的重入攻击又“现身”,Revest Finance被攻击事件简析

-

2022年3月27日,成都链安链必应-区块链安全态势感知平台舆情监测显示,DeFi协议Revest Finance遭到黑客攻击,损失约12万美元。

据悉,Revest Finance是针对DeFi领域的staking的解决方案,用户通过Revest Finance参与任何DeFi的staking,都可以直接创建生成一个NFT(该NFT包含了这个staking仓位的当前以及未来价值)。

在攻击发生之后,项目方官方发推表示他们以太坊合约遭受了攻击,目前已采取措施确保所有链中的剩余资金安全。

成都链安技术团队对此事件进行了相关简析。

#1 分析如下

地址列表

Token合约:0x56de8BC61346321D4F2211e3aC3c0A7F00dB9b76被攻击合约:0x2320a28f52334d62622cc2eafa15de55f9987ed9攻击合约:0xb480Ac726528D1c195cD3bb32F19C92E8d928519攻击者:0xef967ECE5322c0D7d26Dab41778ACb55CE5Bd58B

交易截图

首先攻击者通过uniswapV2call 2次调用受攻击的目标合约中的mintAddressLock函数。

该mintAddressLock函数用于查询并向目标铸造NFT,并且nextid(FNFTHandler.fnftsCreated)会在铸造NFT后进行更新。

攻击者第一次调用mintAddressLock函数铸造了2个ID为1027的Token为后续攻击做准备,随后再次调用mintAddressLock铸造了3600个ID为1028的Token,在mint函数完成前攻击者重入了depositAdditionalToFNFT函数【ERC1155 onERC1155Received 重入】,由于NFT nextId(FNFTHandler.fnftsCreated)在mint函数铸造NFT完成并通知后进行更新,此时的nextId仍然为1028,并且合约并未验证1028的Token数量是否为0,因此攻击者再次成功地铸造了1个ID 为1031的Token,完成了攻击。

#2 总结建议

此次攻击中的铸币相关函数未严格按照检查-生效-交互模式设计,且未考虑到ERC1155 token转账重入的可能性。

建议在合约设计时严格按照检查-生效-交互模式设计,并在ERC1155 token相关DeFi项目中加入防重入的功能。

截止目前为止,攻击者仍然未将资产进行转移,成都链安将持续进行监控。

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论

LATEST POSTS

今日财经市场5件大事:欧洲央行也不淡定了 Netflix财报来袭

今日财经市场5件大事:欧洲央行也不淡定了 Netflix财报来袭

美欧利差有望进一步扩大 预测欧元/美元平价的声音越来越强

随着强于预期的美国就业报告提高了美联储大幅加息的可能性,对欧元/美元迈向平价汇率的预测得到了新的振奋。欧元/美元周五一度下跌0.9%至1.0072,因交易员押注美欧利差扩大将推动欧元进一步走软。欧元兑

UberEats现可通过BitPay使用比特币、以太币、狗狗币等支付餐费

美国比特币支付服务提供商BitPay在2日于官方推特宣布,现已支持客户使用:比特币、以太坊、狗狗币(DOGE)、柴犬币(SHIB)…等加密货币向送餐外卖平台龙头UberEats和DoorDash支付外送的费用。

TON基金会将于7月30日对首批“.ton”域名进行拍卖

TON基金会宣布推出域名服务TONDNS,将于7月30日对首批“.ton”域名进行拍卖,持续一周。域名最少4个字符,不超过126个字符,除了用户注册域名外,开发者还可以为其去中心化服务的智能合约注册域

Follow us

0FansLike
3,433FollowersFollow
0SubscribersSubscribe

Most Popular

0
希望看到您的想法,请您发表评论x