您的位置  > 币圈知识

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

广告 X
OK欧意app

欧意最新版本

欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。

APP下载  官网地址

背景介绍

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的价值被大幅拉高。建议项目方在设计经济模型和代码运行逻辑时要多方验证,合约上线前审计时尽量选择多个审计公司交叉审计。

热门文章