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项目中加入防重入的功能。
截止目前为止,攻击者仍然未将资产进行转移,成都链安将持续进行监控。
攻击者地址:
https://etherscan.io/address/0xef967ece5322c0d7d26dab41778acb55ce5bd58
- 1比特币2025年关键支撑与阻力分析:投资者如何制定战略路线图
 - 22025年最值得关注的七大高潜力加密货币:小额投入或可带来巨大回报
 - 3中美贸易协议与降息预期或成市场上涨新引擎
 - 4BTC美元价格迎FOMC会议:Polymarket预测降息,鲍威尔能否兑现市场期待?
 - 5首位进入太空的比特币开发者批评BIP-444:“对比特币的一次攻击”
 - 6比特币成为企业财务战略核心:2025年对冲工具与机构采用加速
 - 7Strategy成为首家获标普全球评级的比特币财务公司,信用评级为B-
 - 8分析师预测比特币将重返崩盘前水平,价格飙升至2500万美元以上
 - 9FOMC会议前夕:比特币、以太坊和XRP价格走势分析与预测
 
- 交易所
 - 币种
 
| 排名 | 交易所 | 成交额 | 
|---|---|---|
| 1 |  币安网 | 
		     ¥9,573.34亿 | 
| 2 |  欧易OKX | 
		     ¥3,518.81亿 | 
| 3 |  HTX | 
		     ¥685.12亿 | 
| 4 |  Coinbase | 
		     ¥221.75亿 | 
| 5 |  大门 | 
		     ¥2,457.48亿 | 
| 6 |  Bitget | 
		     ¥1,537.70亿 | 
| 7 |  Bybit | 
		     ¥2,793.98亿 | 
| 8 |  K网(Kraken) | 
		     ¥122.27亿 | 
| 9 |  双子星(Gemini) | 
		     ¥18.25亿 | 
| 10 |  Upbit | 
		     ¥148.16亿 | 

币安网
欧易OKX
HTX
Coinbase
大门
Bitget
Bybit
K网(Kraken)
双子星(Gemini)
Upbit
泰达币
比特币
以太坊
Solana
USD Coin
瑞波币
币安币
First Digital USD
狗狗币
OFFICIAL TRUMP