零时科技 || BXH攻击事件分析
零时科技区块链安全情报平台监控到消息,北京时间2022年9月29日,BXH合约遭到黑客攻击,损失超40,085BUSD,零时科技安全团队及时对此安全事件进行分析。
# 0x2 攻击信息
- 攻击者地址:
0x81c63d821b7cdf70c61009a81fef8db5949ac0c9
- 攻击者合约地址:
0x4e77df7b9cdcecec4115e59546f3eacba095a89f
- 被攻击合约地址:
0x27539b1dee647b38e1b987c41c5336b1a8dce663
# 0x3 攻击步骤
1. 调用deposit()函数向合约转移 5,582 VUSDT
![1-1.png](https://img.learnblockchain.cn/attachments/2022/09/jA1v4mw6633662ee71533.png)
2. 攻击者通过闪电贷借出 3,178,800 BUSD
![1-2.png](https://img.learnblockchain.cn/attachments/2022/09/uouRhAuH633662f9a5dc2.png)
3. 将 3,148,800 BUSD 兑换为 148,851 BXHToken
![1-3.png](https://img.learnblockchain.cn/attachments/2022/09/rRJEpWHs6336630518ef8.png)
4. 向被攻击合约转移 200BUSD
![1-4.png](https://img.learnblockchain.cn/attachments/2022/09/3bsEcfP16336630e01031.png)
5. 调用depositIToken函数中getITokenBonusAmount()函数,计算得到 40,085 BUSD奖励
![1-5.png](https://img.learnblockchain.cn/attachments/2022/09/HLJY7aKD63366315ce7cd.png)
6. 将兑换得到的BXHToken 兑换为 BUSD 并归还闪电贷
![1-6.png](https://img.learnblockchain.cn/attachments/2022/09/g2EqRJbQ6336632c57ec4.png)
# 0x4 漏洞核心
攻击者通过闪电贷借出大量BUSD,兑换为BXHToken,使得池子中BUSD 瞬间增大,在计算获得的奖励时由于会与BUSD数量做乘法,使得获得奖励也会成倍增加。
![1-7.png](https://img.learnblockchain.cn/attachments/2022/09/uXjOH0dq6336634e9db53.png)
# 0x5 资金流向
兑换为BNB 转移至混币平台
![1-8.png](https://img.learnblockchain.cn/attachments/2022/09/zEFh4nkA63366365570b3.png)
![1-9.png](https://img.learnblockchain.cn/attachments/2022/09/itcs26nT6336637078c8c.png)
# 0x6 总结及建议
此次攻击主要原因是在计算奖励时会与池子中BUSD的数量相乘,当池子中USDT数量增加时,获得的奖励相应增加。攻击者通过闪电贷向池子中转移大量BUSD,使得计算出的奖励增加从而获利。
## 安全建议
建议计算中涉及数值引用及乘除法计算时详细检查,避免出现计算数值受引用数值较大影响的情况发生。
建议项目方上线前进行多次审计,避免出现审计步骤缺失。
0x1 事件背景
零时科技区块链安全情报平台监控到消息,北京时间2022年9月29日,BXH合约遭到黑客攻击,损失超40,085 BUSD, 零时科技安全团队及时对此安全事件进行分析。
0x2 攻击信息
- 攻击者地址:
0x81c63d821b7cdf70c61009a81fef8db5949ac0c9
- 攻击者合约地址:
0x4e77df7b9cdcecec4115e59546f3eacba095a89f
- 被攻击合约地址:
0x27539b1dee647b38e1b987c41c5336b1a8dce663
0x3 攻击步骤
- 调用deposit()函数向合约转移 5,582 VUSDT
- 攻击者通过闪电贷借出 3,178,800 BUSD
- 将 3,148,800 BUSD 兑换为 148,851 BXHToken
- 向被攻击合约转移 200BUSD
- 调用depositIToken函数中getITokenBonusAmount()函数,计算得到 40,085 BUSD奖励
- 将兑换得到的BXHToken 兑换为 BUSD 并归还闪电贷
0x4 漏洞核心
攻击者通过闪电贷借出大量BUSD,兑换为BXHToken,使得池子中BUSD 瞬间增大,在计算获得的奖励时由于会与BUSD数量做乘法,使得获得奖励也会成倍增加。
0x5 资金流向
兑换为BNB 转移至混币平台
0x6 总结及建议
此次攻击主要原因是在计算奖励时会与池子中BUSD的数量相乘,当池子中USDT数量增加时,获得的奖励相应增加。攻击者通过闪电贷向池子中转移大量BUSD,使得计算出的奖励增加从而获利。
安全建议
建议计算中涉及数值引用及乘除法计算时详细检查,避免出现计算数值受引用数值较大影响的情况发生。
建议项目方上线前进行多次审计,避免出现审计步骤缺失。
本文参与区块链技术网 ,好文好收益,欢迎正在阅读的你也加入。
- 发表于 2022-09-30 11:37
- 阅读 ( 302 )
- 学分 ( 3 )
- 分类:安全
评论