20250917 - WETToken 攻击事件:价格操控产生的套利空间

背景信息

  1. Alert:https://x.com/TenArmorAlert/status/1968223320693686423
  2. TX:https://app.blocksec.com/explorer/tx/bsc/0xf92539acf7eadfd4a98925927a52af5349cb13c2a250908373a5baf8ea4b49ad

Trace 分析

发生攻击的位置在闪电贷的 callback 函数里面,执行完闪电贷后攻击合约将获利的 BUSD 换成 BNB 进行转移。

进入到闪电贷的 callback 函数里面,首先进行了一系列的授权,然后就是每 4 个 call 操作为一组,进行了多次重复的操作。

  1. Swap:用 5000000 BUSD → 19432567 WET
  2. 0x6a154c56:用 322 WET 换出 2234 WUSD
  3. Swap:用 19432234 WET → 4999040 BUSD
  4. 0xa6ff54ad:用 2234 WUSD 换出 223800 WET

从上面这组操作可以看出,1 和 3 是对等的操作,2 和 4 是不对等的操作。在操作 2 中用 322 WET 换出来的 2234 WUSD 在操作 4 中居然可以换回 223800 WET,这里面产生了获利空间。

代码分析

接下来就是继续跟进 0x0A4085F8a587af76936Ac6368DFc161e5C875882 合约,查看 0x6a154c56 和 0xa6ff54ad 两个函数的具体实现逻辑,但是很可惜合约代码并没有开源。

那只能上反编译了。

反编译代码:https://app.dedaub.com/binance/address/0x0a4085f8a587af76936ac6368dfc161e5c875882/decompiled

0x6a154c56 & 0xa6ff54ad

根据 0x6a154c56 函数的反汇编代码大致可以推断出它的功能:

  1. 从 msg.sender 处收取 varg0 数量的 WET
  2. 通过 0x235f 函数,根据 varg0 计算得到 v2
  3. 向 msg.sender 发送 v2 数量的 WUSD

继续跟进 0x235f 函数

说实话,很抽象。

可以看出,在 0x235f 函数中通过 _uniswapV2Router.getAmountsOut() 函数来获取对应的 AmountOut 数量。结合在 Trace 分析环节中提到的攻击过程中对 WET 和 BUSD 的币价进行了操控的信息,可以推断出 AmountOut 数量对应的代币是 BUSD 。

也就是说当攻击合约调用 0x6a154c56 函数进行兑换时,会根据已经被操控的 [WET, BUSD] 价格将 WET 兑换成 BUSD。

同样,快速过一下 0xa6ff54ad 函数,它的实现就是 0x6a154c56 函数的镜像操作

  1. 从 msg.sender 处收取 varg0 数量的 WUSD
  2. 通过 0xbb9 函数,调用 _uniswapV2Router.getAmountsOut() 根据 [WET, BUSD] 的价格计算 v2
  3. 向 msg.sender 发送 v2 数量的 WET

Rootcause 总结

总的来说,本次攻击事件的 rootcause 就是 0x0A40 合约提供了 [WET, WUSD] 互相兑换的功能,而兑换的比例是通过获取当前 [WET, BUSD] 的价格来决定的。攻击者通过闪电贷获得的大量资金操控 [WET, BUSD] 的价格,从而在 WET 价格高时通过 0x0A40 合约把 WET 换成 WUSD,然后在 WET 价格低时把 WUSD 换成 WET,从而套取超额的 WET 。兑换成 BUSD 归还闪电贷后,再兑换成 BNB 进行资金转移。

相关推荐
阿菜ACai2 天前
Morpheus 审计报告分享3:StETH 的精度丢失转账机制
漏洞分析
阿菜ACai4 天前
Morpheus 审计报告分享2:ChianLink 数据源有着不同的“心跳”
漏洞分析
阿菜ACai8 天前
Morpheus 审计报告分享:AAVE 项目 Pool 合约地址更新导致的组合性风险
漏洞分析
墨染 殇雪12 天前
文件上传漏洞基础及挖掘流程
网络安全·漏洞分析·漏洞挖掘·安全机制
阿菜ACai2 个月前
20250730 - AnyswapV4Router 授权漏洞: 绕过了不存在的 permit 函数
漏洞分析
阿菜ACai2 个月前
20250709 - GMX V1 攻击事件: 重入漏洞导致的总体仓位价值操纵
漏洞分析·defi
阿菜ACai3 个月前
20250620 - Bonding 攻击事件: 项目方不创建的池子由我攻击者来创建
漏洞分析
阿菜ACai4 个月前
20250528 - Usual 攻击事件: 价差兑换与请君入瓮
漏洞分析·defi
阿菜ACai8 个月前
20250110-FortuneWheel 攻击事件:竟然不设滑点,那就体验一下 Force Investment 吧
漏洞分析·defi