0x1 事件背景
零时科技区块链安全情报平台监控到消息,北京时间 2022 年 9 月 29 日,BXH 合约遭到黑客攻击,损失超 40,085 BUSD, 零时科技安全团队及时对此安全事件进行分析。
0x2 攻击信息
攻击者地址:
0x81c63d821b7cdf70c61009a81fef8db5949ac0c9
攻击者合约地址:
0x4e77df7b9cdcecec4115e59546f3eacba095a89f
被攻击合约地址:
0x27539b1dee647b38e1b987c41c5336b1a8dce663
0x3 攻击步骤
1. 调用 deposit()函数向合约转移 5,582 VUSDT
2. 攻击者通过闪电贷借出 3,178,800 BUSD
3. 将 3,148,800 BUSD 兑换为 148,851 BXHToken
4. 向被攻击合约转移 200BUSD
5. 调用 depositIToken 函数中 getITokenBonusAmount() 函数,计算得到 40,085 BUSD 奖励
6. 将兑换得到的 BXHToken 兑换为 BUSD 并归还闪电贷
0x4 漏洞核心
攻击者通过闪电贷借出大量 BUSD,兑换为 BXHToken,使得池子中 BUSD 瞬间增大,在计算获得的奖励时由于会与 BUSD 数量做乘法,使得获得奖励也会成倍增加。
0x5 资金流向
兑换为 BNB 转移至混币平台
0x6 总结及建议
此次攻击主要原因是在计算奖励时会与池子中 BUSD 的数量相乘,当池子中 USDT 数量增加时,获得的奖励相应增加。攻击者通过闪电贷向池子中转移大量 BUSD,使得计算出的奖励增加从而获利。
安全建议
建议计算中涉及数值引用及乘除法计算时详细检查,避免出现计算数值受引用数值较大影响的情况发生。
建议项目方上线前进行多次审计,避免出现审计步骤缺失。
零时
往期内容回顾
零时科技 | Nomad 跨链桥被盗 1.8 亿美元事件分析
零时科技 | Audius 金库 1850 万枚 AUDIO 被盗事件分析
零时科技联合创始人黄鱼先生受邀对话《Web3 应用创新与生态安全》
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。