值得信赖的区块链资讯!
揭秘以太坊TIME合约黑客攻击事件 如何利用ERC2771协议安全问题获利?
当我们都以为这本是一场普通的攻击。
2023年12月07日,据Beosin旗下Eagle Eye平台消息,以太坊的TIME合约遭受黑客攻击,黑客获利约18.8万美元。

EagleEye平台截图
但我们发现,本次事情好像不止这么简单。
通过追踪溯源发现,我们发现在2023年12月4日,thirdweb就在博客和官方发布漏洞公告称“2023 年 11 月 20 日,我们意识到 web3 智能合约常用开源库特定模式的集成存在安全漏洞,该漏洞影响了 Thirdweb 的一些预构建智能合约,并联系了相关项目方进行缓解。”

相关链接:https://twitter.com/thirdweb/status/1731841493407576247,https://blog.thirdweb.com/security-vulnerability/
12月7日,以太坊的TIME合约,成为第一个因该安全问题受害的第一项目。
今天让我们还原一下本次攻击事件真相。
协议背景简介
ERC2771 原生元交易安全协议:
EIP 2771协议为接收者合约定义了合约级协议,以通过可信转发器合约接受元交易。没有进行任何协议更改。通过附加额外的 calldata 向接收者合约发送有效的 msg.sender(称为 _msgSender())和 msg.data(称为 _msgData()),该协议设计的初衷在于让以太坊接受来自没有 ETH 来支付 Gas 费用的外部账户的调用。
由于该设计的特殊性,其msg.sender正如其协议描述的那样是通过_msgSender()函数获取的,该函数会会判断发起者是否为可信转发器,如果是,则将截取传入的Calldata的最后20个字节作为交易的发起者。

参考链接:https://eips.ethereum.org/EIPS/eip-2771,https://etherscan.io/address/0x4b0e9a7da8bab813efae92a6651019b8bd6c0a29#code
Muticall批处理调用库:
Muticall是一个由openzeppelin contacts提供的单个外部调用中批量处理多个调用的功能库。
从Time事件中我们可以看见其Multicall()函数中将循环调用DelegateCall 函数处理Calldata并调用本合约的其他函数。

参考链接:https://github.com/OpenZeppelin/openzeppelin-contracts,https://etherscan.io/address/0x4b0e9a7da8bab813efae92a6651019b8bd6c0a29#code
TIME合约事件相关信息
●攻击交易
0xecdd111a60debfadc6533de30fb7f55dc5ceed01dfadd30e4a7ebdb416d2f6b6
●攻击者地址
0xfde0d1575ed8e06fbf36256bcdfa1f359281455a
●攻击合约
0x6980a47bee930a4584b09ee79ebe46484fbdbdd0
●被攻击合约
0x4b0e9a7da8bab813efae92a6651019b8bd6c0a29
TIME合约事件漏洞分析
本次攻击主要利用了转发器(Forwarder)合约调用了TIME 代币的multicall 函数,并由于TIME代币使用了ERC2771 原生元交易的安全协议,从而恶意伪造_msg.sender进而销毁了pair中的代币。最终由于token代币价格上涨兑换而获利。
TIME合约事件攻击流程
1.攻击者首先使用5个WTH兑换约34.5亿个Time代币作为准备资金。

2.接着攻击者调用转发器的execute函数通过签名验证,并传入恶意的calldata,如下


3.此时execute函数会调用req.to地址(Time代币地址),并将req.data和req.from地址打包并调用Time代币的multicall函数。那这里黑客是如何将req.from给舍弃的呢?原因在于黑客将data[1]的长度(size)设置为了0×38,那么muticall在解析data时req.from将被截断。

参考:https://docs.soliditylang.org/en/v0.8.12/abi-spec.html
4. muticall 函数以pair的调用者身份调用burn函数销毁piar中的Time代币。


5. 最后攻击者调用pair中的sync函数同步pair中的储备量,使得Time代币价格上涨。

最后黑客使用准备阶段获得的TIME代币在pair中兑换ETH从而获利18.8万美元。
这次攻击事件再次提醒我们,智能合约的安全性至关重要,项目方必须加强对漏洞的识别和修复,以确保区块链生态系统的可持续发展和用户的资产安全。
比推快讯
更多 >>- 美上诉法院放行,内华达州将紧急叫停预测市场Kalshi
- Gauntlet七天TVL蒸发3.8亿美元,OKX预存款活动结束为主因
- 美股三大股指集体收跌,道指跌 0.4%
- 摩根大通:Hyperliquid原油合约周末交易量飙至17亿美元,非加密投资者涌入
- 欧元兑美元日内涨超 1%,现报 1.1566
- 数据:196.3 枚 BTC 从匿名地址转入 Jump Crypto,价值约 1367 万美元
- 全球市场周五迎季度“四巫日” ,约5万亿美元衍生品集中到期
- X 推出文章摘要功能
- 高盛:无论短期还是明年,油价风险仍偏向上涨
- DDC Enterprise 再购 200 枚 BTC,总持仓升至 2383 枚,价值约 1.65 亿美元
- 美国一男子利用 AI 创作歌曲,骗取版税超 800 万美元
- 霍尔木兹海峡仍有大量船舶正等待通行
- 预测市场平台 Myriad 完成种子轮融资,Tom Lee 等参投
- 伊朗革命卫队,已用导弹袭击以色列炼油厂
- WLFI 团队向 Binance 存入 1.35 亿枚 WLFI,约合 1252 万美元
- 摩根大通下调标普 500 指数预期,因油价冲击加剧经济衰退风险
- 特朗普:鲍威尔应该降息
- 数据:1000 枚 PAXG 从 Paxos 转入 B2C2 Group,价值约 458.8 万美元
- 加密市场结构谈判取得进展但仍处"微妙状态",会议中出现意料之外的前进路径
- Algorand 基金会完成战略整合,将接管协议开发与 IP 并承诺投入 1500 万美元
- 美国不会实施原油出口禁令
- 比特币跌破 69,000 美元
- 某巨鲸开设 ETH 多单,当前浮亏超 685.8 万美元
- Apex Group 将采用基于 Polygon 的 T-REX Ledger 代币化基金基础设施
- 美媒称美军或夺岛以迫使伊朗开放霍尔木兹海峡
- 美国 F-35 隐形战机疑似被伊朗火力击中
- 数据:过去 1 小时 Binance 净流出 6,253.7 万 USDT
- 欧洲央行招募专家,推动数字欧元接入 ATM 及卡支付终端
- 冈拉克:两年期美债收益率暗示美联储加息即将到来
- 美参议员调查美联储主席提名人凯文·沃什与爱泼斯坦文件关联
- 央行计划新增约 12 家商业银行接入数字人民币系统
- Forward Industries 通过 Galaxy 贷款回购约 2740 万美元自身股票
- 麻吉大哥减持 1000 枚 ETH 多单,一周内从浮盈转为浮亏约 51.4 万美元
- 某鲸鱼 20 倍做空 428.73 枚 BTC 和 13,852 枚 ETH,目前已浮盈超 115 万美元
- 比特币 2 万美元看跌期权成为季度到期前第三热门行权价
- Republic 获 Hamilton Lane 新一轮融资,总融资达 2.02 亿美元
- 伊朗称若基础设施再遭袭将不再克制
- 麻吉减仓部分 ETH 多单,清算价为 2105.19 美元
- Strive 增持 317 枚 BTC,总持仓量升至 13,627.9 枚
- Coinbase Commerce 页面要求用户输入助记词,引发安全隐患
- 数据:10 万枚 SOL 从匿名地址转入 Wintermute,价值约 882.7 万美元
- 数据:35.29 枚 BTC 从 Copper 转出,价值约 242.89 万美元
- 美元兑日元日内跌幅达 1%,现报 158.22
- 美国放宽大行资本规定,或释放数十亿美元用于放贷
- 欧洲央行行长:经济增长前景风险偏下行
- 美元指数 DXY 日内下跌 0.5%,现报 99.79
- USDDOLD 抵押系数拟于 4 月调整
- 美银策略师:美联储加息猜测是无稽之谈,消费股或迎最佳买入时机
- 美股开盘加密板块集体下挫,Circle (CRCL) 跌幅逾 5%
- 分析师:黄金面临考验性时刻,但目前并非低谷
比推专栏
更多 >>观点
比推热门文章
- Gauntlet七天TVL蒸发3.8亿美元,OKX预存款活动结束为主因
- 美股三大股指集体收跌,道指跌 0.4%
- 人均5个AI助理… 2030年数字金融全景前瞻
- 摩根大通:Hyperliquid原油合约周末交易量飙至17亿美元,非加密投资者涌入
- 欧元兑美元日内涨超 1%,现报 1.1566
- 数据:196.3 枚 BTC 从匿名地址转入 Jump Crypto,价值约 1367 万美元
- 全球市场周五迎季度“四巫日” ,约5万亿美元衍生品集中到期
- X 推出文章摘要功能
- 高盛:无论短期还是明年,油价风险仍偏向上涨
- DDC Enterprise 再购 200 枚 BTC,总持仓升至 2383 枚,价值约 1.65 亿美元
比推 APP



