9天前停止使用的合约,让黑客有了可乘之机?

Beosin成都链安 阅读 1185 2022-4-10 17:22
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

2022年4月2日,成都链安链必应-区块链安全态势感知平台舆情监测显示,Gymdefi的LiquidityMigrationV2合约遭受黑客攻击,黑客获利约1,327 WBNB。成都链安技术团队第一时间对事件进行了分析,结果如下。

#1 事件相关信息

攻击交易:

0xa5b0246f2f8d238bb56c0ddb500b04bbe0c30db650e06a41e00b6a0fff11a7e5

攻击者地址:

0x74298086c94dab3252c5dac979c9755c2eb08e49

攻击合约:

0x4e284686fbcc0f2900f638b04c4d4b433c40a345

被攻击合约:

0x1befe6f3f0e8edd2d4d15cae97baee01e51ea4a4

#2 攻击流程

1. 攻击者首先从Tornado中提取0.99655 BNB。

9天前停止使用的合约,让黑客有了可乘之机?

2. 攻击者部署攻击合约后,首先从WBNB-BUSD (0x58f8...dc16)交易池中借贷2,400 WBNB到攻击合约中为后续攻击步骤做准备。

9天前停止使用的合约,让黑客有了可乘之机?

3. 接着在GYM-WBNB(0x8dc0...91db)交易池中将600 WBNB 兑换成 5,942,069.12 GYM,然后添加1730 WBNB和140W GYM到GYM-WBNB交易池中获得46,106.30 LP代币。

9天前停止使用的合约,让黑客有了可乘之机?

4. 完成流动性添加后,攻击者通过攻击合约调用LiquidityMigrationV2合约中的migrate函数进行迁移。由于LiquidityMigrationV2合约迁移时未查询GYM和GYMNET代币实际价格,移除流动性返回的GYM数量直接作为添加流动性的GYMNET数量传入,攻击者成功将46,106.30 LP(GYM-WBNB)代币换成了44,760.25 LP(GYMNET-WBNB)代币。

9天前停止使用的合约,让黑客有了可乘之机?

5. 之后再移除流动性,将获得的1,166,737.57 GYMNET兑换成WBNB。最后归还闪电贷,并将本次攻击所得约1,327 WBNB发送给自身地址。

9天前停止使用的合约,让黑客有了可乘之机?

#3 漏洞分析

本次攻击主要利用了LiquidityMigrationV2合约中代币兑换设计漏洞,合约中的migrate函数在进行迁移时,将GYM-WBNB交易池移除流动性时返回的数据直接作为了GYMNET-WBNB交易池中添加流动性时的参数。

9天前停止使用的合约,让黑客有了可乘之机?

攻击者通过闪电贷借贷大笔资金后,恶意控制了GYM-WBNB交易池中的GYM和WBNB的比例。然后调用migrate函数,将1,400,000 GYM兑换为1,166,737.57 GYMNET。根据攻击发生时的GYM和GYMNET价格,GYM和GYMNET的比例约为130:1。

9天前停止使用的合约,让黑客有了可乘之机?

9天前停止使用的合约,让黑客有了可乘之机?

根据合约中的交易情况可以看出,合约似乎在9天前就已经停止使用了。但是合约中仍存留大量的GYMNET代币,这正好给了攻击者可乘之机。

9天前停止使用的合约,让黑客有了可乘之机?

#4 资金追踪

截止发文时,被盗资金还未被攻击者转出,1,327 WBNB仍在攻击地址中:

9天前停止使用的合约,让黑客有了可乘之机?

针对本次事件,成都链安在此建议:

1. 合约开发时,依赖外部合约数据的合约必须要做好数据的校验,防止恶意数据对合约造成危害。2. 项目上线前,一定要选择专业的安全审计公司进行全面的安全审计,规避安全风险。3. 项目运行时,管理人员一定要做好项目状态的监控,合约弃用或出现异常时一定要及时将资金转移到安全的地址上。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
标签: 合约 黑客攻击
上一篇:NFT“破圈”而出,10种方法教你守护自己的NFT资产 下一篇:OpenSea平台将允许使用Apple Pay和信用卡进行交易

相关资讯