黑客四连击,近期项目被攻击事件分析_WDOGE:WDO

北京时间2022年4月24日下午4时33分,CertiK审计团队监测到Wiener?DOGE项目被恶意利用,造成了3万美元的损失。攻击者利用WDODGE的收费机制和交换池之间的不一致,发起了攻击。

事件发生的根本原因是:通过紧缩的代币合约造成发送方的LP对没有被排除在转账费用之外。因此,攻击者能够将LP对中的通货紧缩代币耗尽,进而导致货币对价格失衡。

而随后于同一天内接连发生了另外三起恶意利用:

下午6时20分,LastKilometer项目被闪电贷攻击利用,造成了26495美元的损失;

晚上9时45分,Medamon项目被闪存贷攻击利用,造成3159美元的损失;

紧接着,PI-DAO项目被闪存贷攻击利用,造成了6445美元的损失。

这一系列攻击的攻击者与攻击方法,与同一天早些时候发生的WienerDOGE相同。

攻击步骤

①攻击者通过闪电贷获得了2900枚BNB。

②攻击者将2900枚BNB换成了6,638,066,501,83枚WDOGE。

●LP的状态:

??○WdogE:199,177,850,468

??○WBNB:2978

③将5,974,259,851,654枚WDOGE发送到LP,由于WDOGE比BNB多,所以LP现在处于不平衡状态。

●LP的状态:

??○?WDOGE:5,178,624,112,169

??○?WBNB:2978

④调用skim()函数,从LP中取回4,979,446,261,701枚WDOGE。由于攻击者在调用skim()之前发送了大量的WDOGE,所以LP将支付大量的费用。这一操作清空了LP内的WDOGE的数量。

攻击者还调用可sync()函数来更新LP内的储备值。若干枚WDOGE和2978枚BNB的存在,造成了WDOGE的价格与WBNB相比异常昂贵。

⑤最后,攻击者用剩下的WDOGE换回了2978枚BNB,偿还了闪电贷,赚取了78枚BNB。

而其他几个项目被攻击的流程步骤也相似:

闪电贷取得WBNB,并用WBNB换取LP中的通缩代币;

直接将通缩的代币转移到LP对上;

调用skim()函数,迫使LP对输回通缩代币;

由于转让费的存在,攻击者会重复步骤2~3,将LP对中的通缩代币耗尽;

通过LP对中的价格不平衡来获取利润。

漏洞分析

当用户转移一定数量的WDOGE时,除了费用,还有4%的代币将被销毁。

因此,如果LP发送100枚WDOGE,其余额将减少104枚WDOGE。

所以,LP应该被排除在费用和代币销毁之外。

写在最后

如果同时对代币和LP合约进行审计,这一风险因素就可以被发现。

然而,如果只有代币合约被审计,那么交换机制将被视为一个外部依赖。

而这种情况在审计过程中将会指出第三方依赖风险。具体为:如果是代币合约,CertiK审计专家将会与项目方讨论,确认是否需要除去LP对的手续费;如果是LP对方的合约,CertiK审计专家会提出通缩币的讨论,并且提醒项目方可能存在的风险。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-3:778ms