零时科技 || BXH攻击事件分析

零时科技区块链安全情报平台监控到消息,北京时间2022年9月29日,BXH合约遭到黑客攻击,损失超40,085BUSD,零时科技安全团队及时对此安全事件进行分析。

BXH.png

0x1 事件背景

零时科技区块链安全情报平台监控到消息,北京时间2022年9月29日,BXH合约遭到黑客攻击,损失超40,085 BUSD, 零时科技安全团队及时对此安全事件进行分析。

0x2 攻击信息

  • 攻击者地址:

0x81c63d821b7cdf70c61009a81fef8db5949ac0c9

  • 攻击者合约地址:

0x4e77df7b9cdcecec4115e59546f3eacba095a89f

  • 被攻击合约地址:

0x27539b1dee647b38e1b987c41c5336b1a8dce663

0x3 攻击步骤

  1. 调用deposit()函数向合约转移 5,582 VUSDT

1-1.png

  1. 攻击者通过闪电贷借出 3,178,800 BUSD

1-2.png

  1. 将 3,148,800 BUSD 兑换为 148,851 BXHToken

1-3.png

  1. 向被攻击合约转移 200BUSD

1-4.png

  1. 调用depositIToken函数中getITokenBonusAmount()函数,计算得到 40,085 BUSD奖励

1-5.png

  1. 将兑换得到的BXHToken 兑换为 BUSD 并归还闪电贷

1-6.png

0x4 漏洞核心

攻击者通过闪电贷借出大量BUSD,兑换为BXHToken,使得池子中BUSD 瞬间增大,在计算获得的奖励时由于会与BUSD数量做乘法,使得获得奖励也会成倍增加。

1-7.png

0x5 资金流向

兑换为BNB 转移至混币平台

1-8.png

1-9.png

0x6 总结及建议

此次攻击主要原因是在计算奖励时会与池子中BUSD的数量相乘,当池子中USDT数量增加时,获得的奖励相应增加。攻击者通过闪电贷向池子中转移大量BUSD,使得计算出的奖励增加从而获利。

安全建议

建议计算中涉及数值引用及乘除法计算时详细检查,避免出现计算数值受引用数值较大影响的情况发生。

建议项目方上线前进行多次审计,避免出现审计步骤缺失。

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
零时科技
零时科技
专注区块链生态安全