零时科技 || SATURN攻击事件分析

时间:2024-09-24 编辑: 浏览:(298)

背景介绍

2024年5月7日,我们监测到一次BNB SmartChain链上攻击事件,

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

被攻击的项目是SATURN ,攻击总造成约15 WBNB的损失。

攻击及事件分析

攻击主要分为两个阶段:

阶段1

攻击者使用0.15个BNB,分10次在 PancakeSwap上兑换了891,000.8910个 SATURN,作为攻击的初始资金。交易hash 为:

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

阶段2

攻击开始,攻击者首先从PancakeSwap中利用flash闪电贷贷了3,300 WBNB,

随后,利用PancakeSwap(WBNB-SATURN)使用3,200 WBNB兑换了101,030,461 SATURN,此时,1 WBNB=6418081 SATURN

其中兑换的SATURN转到的地址为0xc8ce1ecdfb7be4c5a661deb6c1664ab98df3cd62,这个地址是项目方的地址,此操作是为了消耗PancakeSwap(WBNB-SATURN)中 SATURN的数量。选择项目方的地址是为了绕过普通地址每天买卖上限的(上限均为50,000 SATURN),而特定地址

(_excludedFees中的地址)不受此限制。

随后,攻击者又向PancakeSwap(WBNB-SATURN)转入228,832 SATURN,由于此时转入和转出地址均不在_excludedFees中,且to为PancakePair,执行以下操作。首先,将手续费转给了0x6f8d958c4dba9cdd734bb1c435f23cd6aa35534a,随后执行了autoLiquidityPairTokens

接下来,我们看一下autoLiquidityPairTokens的操作,首先,burn了一部分token,接着再通过sync同步PancakeSwap(WBNB-SATURN)的Reserves信息。

我们注意到,在SATURN Token的transfer逻辑中,首先burn PancakeSwap(WBNB-SATURN)池子中的SATURN Token,再sync,最后才会给PancakeSwap(WBNB-SATURN)的池子中转账。这就导致,攻击者可以通过操纵转账的数量,将池子中的SATURN Reserves操纵到很低的值,从而大幅拉高SATURN Token的价值。

我们可以看到,此时SATURN的价值已经被抬升到了1 SATURN=147,376,380,331,789,115

WBNB,最后攻击者将PancakePair中的 WBNB掏空,还清了闪电贷的贷款,且获利15 WBNB。

总结

本次漏洞的成因是在PancakeSwap(WBNB-SATURN)收到转账的Token前就进行sync操作,导致PancakeSwap(WBNB-SATURN)的池子中的Reserves失真,SATURN Token的价值被大幅拉高。建议项目方在设计经济模型和代码运行逻辑时要多方验证,合约上线前审计时尽量选择多个审计公司交叉审计。

推荐
最新 更多 >
  • 1 莱汇币

    本文带来了【莱汇币】内容供参考阅读,并对相关内容莱汇币苹果版进行了分析,下面就跟随小编一起了解莱汇币莱汇币苹果版。莱汇币跑路了好像还没有希望能帮到你,如果你的问题解决了,麻... 本文带来了【莱汇币】内容供参考阅读,并对相关内容莱汇币苹果版进行了分析,下面就跟随小编一起了解莱汇币莱汇币苹果版。莱汇币跑路了好像还没有希望能帮到你,如果你的问题解决了,麻烦点一下采纳,谢央媒曝光11种涉嫌传销项目 假借