Biswap V3 Migrator合约漏洞百出,假代币攻击让用户赔惨了

avatar
AgentLayer
1年前
本文约1015字,阅读全文需要约2分钟
Biswap用户因BSC遭受虚假代币攻击而损失144,000美元,一起看看黑客是如何利用虚假代币攻击收割用户资产。

2023 年 7 月 1 日,一名攻击者利用 Binance 智能链(BSC)上的 Biswap V 3 Migrator 合约的一个漏洞,从毫无戒心的用户那里窃取了价值约 14 万美元的代币。攻击者使用了假代币攻击,来操纵迁移函数的参数,并从授权了他们流动性提供者(LP)代币给 V 3 Migrator 合约的用户那里吸走流动性。之所以能够实施这种攻击,是因为 V 3 Migrator 合约在从 Biswap V 2 迁移到 Biswap V 3 时没有验证参数。倘若该攻击在当时未被及时阻止,将为 Biswap 带来近千万美元的资产损失。

交易

攻击者执行了三笔交易来进行攻击:

https://bscscan.com//tx/0xe13ec0941580d3c286b46fa6566f20195bdd52b3d65fc7ff4a953a8fc774c6c4

https://bscscan.com//tx/0xe5c89e9ac217e4e16c2399f3597f7b5fbb73b45c1d3360788ee51ea2561def3a

https://bscscan.com//tx/0x8693a95f8481ba02ceaabed8e95b4e1eb8ac589c69c027c96b12ac5295714c3f

攻击者

攻击者的地址是[0xa1e31b29f94296fc85fac8739511360f279b1976]

攻击合约

攻击合约是[0x1d448e9661c5abfc732ea81330c6439b0aa449b5]这个合约是在 2023 年 6 月 30 日,也就是攻击前一天由攻击者部署的。该合约有一个简单的逻辑,就是用不同的参数调用 V 3 Migrator 合约。

被攻击合约

被攻击合约是[0x839b0afd0a0528ea184448e890cbaaffd99c1dbf]这是 Biswap 于 2023 年 6 月 28 日部署的 V 3 Migrator 合约。该合约旨在帮助用户将他们的 LP 代币从 Biswap V 2 迁移到 Biswap V 3 。

攻击步骤

攻击者利用了 V 3 Migrator 合约中的一个缺陷,使他们能够篡改迁移函数的参数,攻击步骤如下:

  1. 受害者授权了 LP 代币给 Biswap V 3 Migrator 合约;

  2. 攻击者烧毁了受害者的 V 2 LP 代币,并用假代币添加了 V 3 流动性。在这一步,V 2 LP 的 token 0 和 token 1 仍然在 V 3 Migrator 合约中;

  3. 攻击者烧毁了假的 V 2 LP 代币,并用 V 2 LP 的 token 0 和 token 1 添加了 V 3 流动性, 没有用于添加 V 3 流动性的多余的 token 0 和 token 1 被转回给了攻击者。同时,这一步中的 V 3 流动性也属于攻击者。

根本原因

造成攻击的根本原因是 Biswap 的 V 3 Migrator 合约在从 Biswap V 2 迁移到 Biswap V 3 时没有验证参数。具体来说,合约中有一个重要问题:

  • 合约没有验证 token 0 和 token 1 参数是否与 V 2 LP 代币中的实际代币相匹配

这个问题使得攻击者能够向迁移函数传递假代币和数量,并从授权了 LP 代币给 V 3 Migrator 合约的用户那里窃取真实代币。

Key Code

Biswap V3 Migrator合约漏洞百出,假代币攻击让用户赔惨了

受损资产

攻击者[0xa1e31b29f94296fc85fac8739511360f279b1976] 非法获取了高达 14 万美元的资产

资金流向

攻击者撤走流动性用以换取$BNB

Biswap V3 Migrator合约漏洞百出,假代币攻击让用户赔惨了

最终,攻击者将 603 个$BNB 转入 Tornadocash 进行了洗钱操作

Biswap V3 Migrator合约漏洞百出,假代币攻击让用户赔惨了

PoC

Biswap V3 Migrator合约漏洞百出,假代币攻击让用户赔惨了https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/Biswap_exp.sol

安全建议

强烈建议用户取消 Biswap V 3 Migrator 的授权:https://bscscan.com/tokenapprovalchecker

结论

Biswap 的攻击事件是一个典型的例子,假代币攻击充分利用 BSC 上的 DEX 漏洞收割用户和项目方的资金。该攻击也突显了验证处理用户资金的合约的参数和余额的重要性,用户在授权代币给第三方合约时也应该小心谨慎,并在使用之前检查合约的源代码和审计报告。作为对此次攻击事件的回应,Biswap 也很快采取了 2 个应对策略:

  1. 尽快要求用户撤销对 V 3 Migrator 合约的授权,这样攻击者就无法再访问他们的 LP 代币;

  2. 删除他们自己发布的推广 V 3 迁移并告知用户迁移 LP 代币收益的推文

Biswap V3 Migrator合约漏洞百出,假代币攻击让用户赔惨了

如果这次攻击没有及时制止,Biswap 的所有迁移合约都将遭受数千万美元的损失,因为攻击者可以用假代币将所有流动性从 Biswap V 2 迁移到 Biswap V 3 ,这对 Biswap 及其用户来说将是一个毁灭性的打击,也是 BSC 上 DEX 发展的一个严重挫折。

原创文章,作者:AgentLayer。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选