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项目中加入防重入的功能。 截止目前为止,攻击者仍然未将资产进行转移,成都链安将持续进行监控。 攻击者地址: https://etherscan.io/address/0xef967ece5322c0d7d26dab41778acb55ce5bd58 查看更多 —- 编译者/作者:成都链安 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
ERC1155的重入攻击又“现身”:RevestFinance被攻击事件简析
2022-03-27 成都链安 来源:区块链网络
LOADING...
相关阅读:
- 观点:Web3的聚合领域将在未来迸发出巨大价值2022-03-26
- Web3和元宇宙变革者需了解的To-DoList2022-03-26
- 以太坊转PoS后Gas费能降多少?2022-03-25
- 一文读懂DAO生态:发展脉络、类型、治理2022-03-24
- DAO的「左倾」与「右倾」2022-03-24