当前位置:主页 > 列表页 > 正文

加密版无损「倒信用卡」获利百万美元,FEG闪电贷攻击事件分析

2022-05-18 02:41 | 出处: odaily

北京时间2022年5月16日凌晨4:22:49,CertiK安全技术团队监测到FEG在以太坊和BNB链上遭受大规模闪电贷攻击,导致了价值约130万美元的资产损失。

此攻击是由“swapToSwap()”函数中的一个漏洞造成的,该函数在未对传入参数进行筛查验证的情况下,直接将用户输入的 "path "作为受信任方,允许未经验证的 "path "参数(地址)来使用当前合约的资产。

因此,通过反复调用 "depositInternal() "和 "swapToSwap()",攻击者可获得无限制使用当前合约资产的许可,从而盗取合约内的所有资产。

受影响的合约地址之一:https://bscscan.com/address/0 x818e2013dd7d9bf4547aaabf6b617c1262578bc7

https://debank.com/profile/0 x73b359d5da488eb2e97990619976f2f004e9ff7c/history

https://bscscan.com/address/0 x87b1acce6a1958e522233a737313c086551a5c76#code

③攻击者通过调用 "depositInternal() "将fBNB存入合约FEGexPRO。

根据当前地址的余额,"_balances2[msg.sender]"被增加。

④ 攻击者调用了 "swapToSwap()",路径参数是之前创建的合约地址。

该函数允许 "path "获取FEGexPRO合约的114 fBNB。

⑤ 攻击者反复调用 "depositInternal() "和 "swapToSwap()"(步骤③和④),允许多个地址(在步骤②中创建)获取fBNB代币,原因如下:

  • 每次 "depositInternal() "被调用,_balance2[msg.sender]将增加约114 fBNB。

  • 每次"swapToSwap()"被调用,攻击者所创建合约能获取该114 fBNB的使用权限。

⑥ 由于攻击者控制了10个地址,每个地址均可从当前地址花费114个fBNB,因此攻击者能够盗取被攻击合约内的所有fBNB。

⑦ 攻击者重复步骤④⑤⑥,在合约内耗尽FEG代币。

⑧ 最后攻击者出售了所有耗尽的资产,并偿还闪电贷款,最终获取了其余利润。

钱包(0 x73b359d5da488eb2e97990619976f2f004e9ff7c)中。

原始资金来自以太坊和BSC的Tornado cash:https://etherscan.io/tx/0 x0ff1b86c9e8618a088f8818db7d09830eaec42b82974986c855b207d1771fdbe

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

攻击者攻击了13个FEGexPRO合约,以下为概览:

您可能感兴趣的文章:

相关文章