背景介绍
2024年11月18日,我们监控到 BNB Smart Chain 上的一起攻击事件,被攻击的项目为 BTB 。攻击交易为
https://bscscan.com/tx/0xfb6df4053c2f1000cb03135064af19a79a87cf25efe612ae5f3468390d6be216
本次攻击共造成约 5000 USD 的损失。
攻击及事件分析
首先,攻击者利用 flashloan 从 pancakeSwapV3 中贷款 100,000 BUSD
随后,攻击者利用 pancakeSwapV2 将贷到的 100,000 BUSD 兑换为 1,263,427 BTB
接着,攻击者利用 BTB 的 exchangeBTBToUSDT 将 3,052 BTB 兑换为 4,999 BUSD
我们看一下被攻击的智能合约的函数 exchangeBTBToUSDT 的代码
可以看到,兑换的价格是由 pancakeSwapV2 的 BTB 和 BUSD 的 pair 的 reserve 决定的。这样,攻击者就可以利用 pacakeSwap 兑换大额 BTB 或 BUSD 来操纵 BTB 的价格。我们可以看到,攻击者在用 flashloan 贷来的 100,000 BUSD 兑换了 BTB 。
因此,在攻击者使用 pancakeSwapV2 进行大额 BUSD 兑换 BTB 前
reserve0 为:
1,327,362,530,716,302,619,951,383 ,
reserve1 为:
5047758199614262100984 ,
兑换后 reserve0 为:
63934622394514316973499 ,
reserve1 为:
105047758199614262100984 。
通过 getPrice 中 getAmountOut 的实现,我们可以计算出攻击者兑换前和兑换后的 BTB 价格变化。
我们通过计算得到 BTB 的价格从 1BTB=0.00379143964708692 BUSD 拉升到了 1 BTB =1.6381204893766859 BUSD 。价格被拉升了 400 多倍。
因此,攻击者使用了 3052 BTB 兑换到了 4999 BUSD 。
最后,攻击者用剩下的 1260375 BTB 从 pancakeSwapV2 中兑换了 99,964 BUSD。
攻击者再归还 flashloan 的贷款及利息 100,100 BUSD 后,获利 4,863 BUSD 。
总结
本次漏洞的成因是项目方在完成兑换 BTB 到 BUSD 时,使用了过时的价格预言机,导致攻击者可以轻易操纵 BTB 的价格,先进行大笔买入 BTB ,拉高 BTB 的价格后再卖出。最后完成套利。建议项目方在设计价格预言机和代码运行逻辑时要多方验证,合约上线前审计时尽量选择多个审计公司交叉审计。
WEEX唯客交易所是全球交易深度最好的合约交易所之一,位居CMC交易所流动性排名前五,订单厚度、价差领先同行,微秒级撮合,零滑点、零插针,最大程度降低交易成本及流动性风险,让用户面对极端行情也能丝滑成交。
WEEX交易所宣布将于今夏上线其全球生态激励通证WEEX Token(WXT)。WXT被设计为WEEX交易所生态系统的基石,作为动态激励机制,主要用于激励WEEX交易平台社区的合作伙伴、贡献者、先驱和活跃成员。
WXT总供应量100亿枚,初始流通量39亿枚,WEEX交易平台投资者保护基金、WXT生态基金各持有15%,15%用于持币激励,5%面向代理、渠道等合作伙伴私募,其余50%将全部用于WEEX交易所生态激励,包括:团队激励(20%)、活动拉新(15%)、品牌建设/KOL合作(15%)。WEEX Token是一种实用型代币,规划了丰富的使用场景和赋能机制,包括:Launchpad、近10项持有者专属权益,以及回购销毁通缩机制等。
据悉,WXT仅开放代理、渠道等合作伙伴折扣认购,未来零售投资者可通过新用户注册、交易挖矿、参与平台活动等方式获得WXT奖励。
点此注册 WEEX 账户,领取 1050 USDT 新用户奖励
WEEX官网:weex.com
WXT专区:weex.com/wxt
你也可以在 CMC|Coingecko|非小号|X (Twitter)|中文 X (Twitter)|Youtube|Facebook|Linkedin|微博 上关注我们,第一时间获取更多投资资讯和空投福利。
在线咨询:
WEEX华语社群:https://t.me/weex_group
WEEX英文社群:https://t.me/Weex_Global
暂无评论内容