EDE、Jimbos、CS Token 安全实践:预言机后门、滑点漏洞与闪电贷攻击

本文总结了近期DeFi领域发生的多起安全事件,包括El Dorado Exchange的价格预言机操纵漏洞、Jimbos Protocol的滑点控制不足问题、CS Token的闪电贷操纵价格漏洞、Local Traders的权限检查缺失漏洞以及Sell Token的输入验证不当漏洞。这些事件暴露出DeFi系统在面临攻击时的脆弱性,强调了输入验证、权限控制和对抗性环境设计的重要性。

这一系列的漏洞展示了 DeFi 系统在压力下依然是多么的脆弱。Jimbos 损失了 750 万美元,因为它无法处理流动性事件期间的价格扭曲。El Dorado 的 Oracle 合约对操纵完全开放,这是故意的。CS Token 将 token 销毁变成了拉盘机器。Local Traders 缺乏基本的权限检查。Sell Token 向任何要求的人分发奖励。这些不是边缘案例的漏洞;它们是未能验证输入、限制控制以及为对抗性环境设计的失败案例。

简述

  • El Dorado Exchange 的 Oracle 合约遭到攻击。
  • Jimbos 协议由于滑点控制不足损失了 750 万美元。
  • CS Token 的价格被使用闪电贷操纵。
  • Local Traders 的合约由于缺乏权限检查而被攻击。
  • 不正确的输入验证导致 Sell Token 损失了 8.7 万美元。

漏洞总结

漏洞分析

El Dorado Exchange | 损失金额:58 万美元

5 月 30 日,在 Arbitrum 链上的 El Dorado Exchange (EDE) 发生了一起漏洞利用事件,导致损失 58 万美元。这次攻击的发生是因为价格 Oracle 被操纵。攻击者使用了 EDE 的 Oracle 合约中的 0x147d9322() 函数来操纵 token 价格。攻击者声称自己是白帽,并指责 EDE 有后门来操纵价格并窃取用户资金。EDE 承认了操纵价格的能力,但表示这是为了将攻击者列入黑名单。攻击者归还了资金,并获得了 10% 的赏金。

反编译的攻击合约 (在 Arbitrum 链上): 0xD067e4B0144841bc79153874d385671Ea4c4e4DF

交易哈希: 0x72574fc0f85ed3c6fb78907fc938ce4d407817b1275bbd8b1ddc6de190550bf0

Jimbos 协议 | 损失金额:750 万美元

5 月 28 日,在 Arbitrum 链上的 Jimbos 协议漏洞利用导致损失 750 万美元。这次攻击的发生是因为负责通过添加或移除流动性来平衡 $JIMBO 和 WETH 数量的 JimbosController 合约,缺乏在 token 价格扭曲期间防止添加和移除的机制。攻击者使用闪电贷借入 WETH,并将其兑换为 $JIMBO tokens。然后,攻击者将 100 个 $JIMBO tokens 转移到 JimboController 合约,该合约移除了过多的 $JIMBO 流动性,从而提高了其价格。利用虚高的价格,攻击者出售了价格过高的 $JIMBO tokens,并从漏洞中获利。

攻击合约 (在 Arbitrum 链上): 0x271944d9D8CA831F7c0dBCb20C4ee482376d6DE7

交易哈希: 0x44a0f5650a038ab522087c02f734b80e6c748afb207995e757ed67ca037a5eda

CS Token | 损失金额:71.4 万美元

5 月 24 日,在 BNB 链上的 CS Token 漏洞利用导致损失 71.4 万美元。攻击者通过销毁 tokens 来操纵 $CS token 的价格,从而减少了 token 供应量。攻击者使用闪电贷从 PancakeSwap 合约中借入价值 8000 万美元的 $BUSD。然后,攻击者使用 CS 合约重复地将 $BUSD 兑换为 $CS tokens。对于每次兑换,CS 合约都会销毁一部分 tokens,从而逐渐减少供应量。这种供应量的减少增加了 $CS tokens 的价值,使攻击者能够从漏洞中获利。

攻击合约 (在 BNB 链上): 0x8BC6Ce23E5e2c4f0A96429E3C9d482d74171215e

交易哈希: 0x906394b2ee093720955a7d55bff1666f6cf6239e46bea8af99d6352b9687baa4

Local Traders | 损失金额:11.1 万美元

5 月 23 日,在 BNB 链上的 Local Traders Finance 漏洞利用导致损失 11.1 万美元。这次攻击的发生是由于缺少权限检查,这使得攻击者能够成为 Local Traders 合约的所有者。最初,攻击者将自己设置为合约所有者。然后,攻击者触发了私有的 getTokenPrice() 函数,并以人为操纵的低价购买了 $SLC tokens。getTokenPrice() 函数返回了一个较低的 token 价格,因为合约所有者之前操纵了 stor_3 的值。然后,攻击者以市场价出售了 $SLC tokens 并获利。

反编译的攻击合约 (在 BNB 链上): 0x312DC37075646c7e0DBA21DF5BdFe69E76475fdc

交易哈希: 0x49a3038622bf6dc3672b1b7366382a2c513d713e06cb7c91ebb8e256ee300dfb

Sell Token | 损失金额:8.7 万美元

5 月 13 日,在 BNB 链上的 Sell Token 漏洞利用导致损失 8.7 万美元。这次攻击的发生是由于不正确的输入验证。Sell Token 的 StakingRewards 合约中的 claim() 函数缺少输入参数检查。这个漏洞使攻击者能够利用一个名为 TokenA 的假 token 而不是 USDT 来收集 $SELLC 奖励。为了防止此类攻击,claim() 函数应该包含输入参数验证,以验证 TokenA 是否是授权的 token。随后,攻击者在 PancakeSwap 上将积累的 $SELLC tokens 兑换为 408 WBNB。

攻击合约 (在 BNB 链上): 0xeaF83465025b4Bf9020fdF9ea5fB6e71dC8a0779

交易哈希: 0xfe80df5d689137810df01e83b4bb51409f13c865e37b23059ecc6b3d32347136

Olympix: 你在安全智能合约中的合作伙伴

Olympix 提供先进的 Solidity 分析工具,以帮助开发人员在漏洞演变成关键漏洞之前识别和修复它们。

立即开始 加固你的智能合约,并在不断发展的 Web3 安全环境中主动保护它们免受漏洞利用。

通过以下方式与我们联系:

Twitter | LinkedIn | Discord | Medium | Instagram | Telegram

  • 原文链接: blog.blockmagnates.com/e...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
blockmagnates
blockmagnates
The New Crypto Publication on The Block