20250110-FortuneWheel 攻击事件:竟然不设滑点,那就体验一下 Force Investment 吧

背景信息

攻击交易:https://app.blocksec.com/explorer/tx/bsc/0xd6ba15ecf3df9aaae37450df8f79233267af41535793ee1f69c565b50e28f7da

漏洞合约:https://vscode.blockscan.com/56/0xc86A50d30c2da607DE91375f363DeDFb3086b9D4

FortuneWheel 合约实现了幸运轮盘竞猜功能,合约通过 swapProfitFees() 将合约中盈利的代币一部分作为 fee 兑换成 BNB,然后再将 BNB 兑换成 LINK。由于 swapProfitFees() 在兑换过程中没有设置滑点,使得攻击者可以通过三文治攻击进行获利。

Trace 分析

通过闪电贷获得 BNB

  1. 攻击者将 BNB 换成 LINK
  2. 调用 swapProfitFees() 函数:
    1. 将 BNBP 兑换成 BNB
    2. 将 BNB 兑换成 LINK
  3. 此时 LINK 的价格已经被 FortuneWheel 抬高,攻击者再将 LINK 换成 BNB 完成获利。

代码分析

swapProfitFees() 函数首先通过 for 循环将所有的 profit 代币按照 fee 的比例兑换成 WBNB,且没有设置滑点。

然后将 WBNB 换成 LINK,这个过程中同样没设置滑点,也就给了攻击者通过控制 BNB-LINK 的价格来套取利润的机会。

未了避免此次安全事件再次发生,建议需要在合约中实现 swap 功能时设置一个合适的滑点,避免被 Force Investment 导致资产损失。

相关推荐
阿菜ACai5 天前
【漏洞分析】20250105-SorraStaking:奖励金额计算错误,每次取款都有大收益
漏洞分析·defi
阿菜ACai22 天前
【项目学习】Morpho 借贷协议简单调研
defi
阿菜ACai1 个月前
【漏洞分析】Vestra DAO 攻击事件:这个质押项目它取款不核销呀
漏洞分析
阿菜ACai1 个月前
【项目学习】Pendle 项目的简单调研
智能合约·defi
xzajyjs2 个月前
CodeQL学习笔记(3)-QL语法(模块、变量、表达式、公式和注解)
web安全·渗透测试·漏洞分析·代码审计·codeql
阿菜ACai3 个月前
【漏洞分析】20240507-SATURN:当闪电贷遇上有缺陷的通缩机制
智能合约·漏洞分析
阿菜ACai4 个月前
【漏洞分析】Penpie 攻击事件:重入攻击构造奖励金额
漏洞分析·defi
阿菜ACai4 个月前
【漏洞分析】OSN 代币攻击事件:一笔资金伪造多个分红大户
智能合约·漏洞分析·solidity
Soujer5 个月前
记一次CSDN认证模块后端未校验漏洞
安全威胁分析·漏洞分析·csdn