斯巴达协议翻车



img

斯巴达沦陷了。

代码中的一个缺陷使得攻击者榨干了SPARTA/WBNB的流动资金池,从而为自己赚取了3050万美元,在rekt排行榜上排名第六。

攻击者利用了一个,当用户销毁LP代币以提取资金时,用于计算流动性份额的有缺陷的逻辑。

在销毁相同数量的资金池代币之前,攻击者用闪电贷来扩大资金池的余额,使它们能够申请更大数量的相关资产。

以下细节摘自派盾原因分析。

  1. 闪电贷出1万WBNB,最后支付了260WBNB的手续费;

  2. 通过被利用的斯巴达资金池五次兑换WBNB到SPARTA,每次兑换1,913.172376149853767216 WBNB分别得到621,865.037751148871481851SPARTA,

    555,430.671213257613862228 SPARTA,

499,085.759047974016386321 SPARTA, 450,888.746328171070956525 SPARTA, 最后 409,342.991760515634291439 SPARTA.

  1. **由此产生的总数为 2,536,613.206101067206978364 SPARTA,加上11,853.33273879003367468 WBNB,然后添加到资金池中,**铸造933,350.95989151078264802个LP代币(spt1-WBNB) ;
  2. 通过同一个池兑换WBNB成SPARTA 10 次,每次兑换 16744.025829131122046314 WBNB分别得到336,553.226646584413691711 SPARTA,

316,580.407937459884368081 SPARTA, 298,333.47575083824346321 SPARTA, 281,619.23694472865873995 SPARTA, 266,270.782888292437349121 SPARTA, 252,143.313661963544185874 SPARTA, 239,110.715943602161587616 SPARTA, 227,062.743086833745362627 SPARTA, 215,902.679301559370989883 SPARTA, 结果获得2,639,121.977427448690750716 SPARTA。

  1. 通过将以上步骤3中的21,632.147355962694186481 WBNB和所有SPARTA转移到池中来增加池中的资产余额,即2,639,121.977427448448750750716 SPARTA。
  2. 销毁步骤2中获得的933350.959891510782264802池LP代币,撤走流动性。由于资金池的资产余额扩大,销毁操作导致了2,538,199.153113548855179986 SPARTA和20,694.059368262615067224 WBNB。

请注意,第2步仅存入11,853.332738790033677468 WBNB,从而带来约9000 WBNB的利润。

  1. 将步骤4中的用1,414,010.159908048805295494池LP代币销毁获得的2,643,882.074112804607308497 SPARTA和 21,555.69728926154636986 WBNB资产加入池中。
  2. 重复上述步骤,继续从资金池中抽走资金。
  3. 偿还100,260 WBNB的闪电贷。

这种脆弱性源于这样一个事实,即流动性份额计算calcLiquidityShare()正在查询当前的余额,这种余额随后可能因操纵而膨胀。正确的计算需要使用 baseAmountPooled/tokenAmountPooled 中的缓存余额。

攻击者从上述利用中获得的大部分资金目前都保存在这个钱包中: 0x3b6e

3.07万 WBNB (1890万美元) 460万 SPARTA (780万美元) 130万 BUSD-T (1.3美元) 23.2 BTCB (130万美元) 92.4万 BUSD (90万美元)

攻击者使用了1inch(将所有代币兑换为 BTCB 或 BETH)、 Spartan (砸盘SPARTA)、 Nerve (将BTCB和BETH兑换为Anyswap版本)。通过这种方式,他们最终能够通过Anyswap提取部分利润。

由于滑点,利润减少了三分之一:

219.5 BTC (1240万美元) 3311 ETH (970万美元)

致谢:igor igamberdiev

这是一个相对简单的故事,关于另一个被复制的协议,他们对自己的模仿过于雄心勃勃。

BSC闪电贷的时代已经到来,这不会是我们最后一次看到这样的攻击。

3000万美元的奖金却只需66美元的费用拥有一个很好的投资回报率,而且随着如此多的开发人员争先恐后地将ETH蓝筹股复制到BSC上,肯定会为热心的黑客提供更多的机会。

由于CZ和币安还没有发表任何声明,人们不禁要问,他们能忍受多少这样的事情呢?

要翻车多狠才能让CZ介入并拯救你?


分享本文

REKT作为匿名作者的公共平台,我们对REKT上托管的观点或内容不承担任何责任。

捐赠 (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

声明:

REKT对我们网站上发布的或与我们的服务相关的任何内容不承担任何责任,无论是由我们网站的匿名作者,还是由 REKT发布或引起的。虽然我们为匿名作者的行为和发文设置规则,我们不控制也不对匿名作者在我们的网站或服务上发布、传输或分享的内容负责,也不对您在我们的网站或服务上可能遇到的任何冒犯性、不适当、淫秽、非法或其他令人反感的内容负责。REKT不对我们网站或服务的任何用户的线上或线下行为负责。