事件背景
北京时间7月20日,有消息称Sanshu项目方旗下的Memestake项目遭受闪电贷攻击,损失高达10余万美金。知道创宇区块链安全实验室对此事件展开复盘分析。
事件跟踪
攻击时间:2021-07-2019:23:20攻击者地址:0x0333E323E61aa8aFA38A1623604A165dCB9F4fEC攻击交易哈希:a):https://etherscan.io/tx/0x628174eccf05e94a3385f882805124b5d8718a0c9906c6cd0c573e5d6f56c9d2
某聪明钱地址在过去一个月通过MEME币赚取562.64枚ETH:金色财经报道,Lookonchain监测数据显示,某聪明钱地址在过去一个月通过MEME代币赚取562.64枚ETH(106万美元)。其中它在RFD上赚取189.5枚ETH(345,306美元),实现4倍收益;在PEPE上赚取127枚ETH(248,697美元),实现32倍收益。另外,它近一个月共交易了104个代币,其中66个代币盈利,盈利率为63.5%。[2023/5/23 15:20:43]
Rug项目WSB Coin实控人再次创建Memecoin ZJZ:5月4日消息,据 0xScope Protocol 监测,继大规模抛售 WSB 后,Rug 项目 WSB Coin 幕后黑手 zjz.eth 再次创建 Memecoin ZJZ,并控制了全部供应量。目前有 175 名持有者,如果他此刻 Rug,将获利 93 ETH(约合 17.7 万美元)。
此前今日早些时候,MEME 项目 WSB Coin 发生 Rug pull,疑似团队以 334 ETH(约合 63.5 万美元)的价格抛售大量 WSB Token,WSB 价格跳水 86%。[2023/5/4 14:41:53]
b):https://etherscan.io/tx/0x00edd68087ee372a1b6e05249cc6c992bb7b8478cc0ddc70c2a1453428285808
约4.97万亿枚Token销毁提案获批后,Meme项目FLOKI涨超19%:1月30日消息,基于BNB区块链的Meme项目FLOKI Token销毁提案已获得批准,该提案计划在2月9日执行Token销毁操作,总计约4.97万亿枚FLOKI,价值约合5500万美元。
此外,FLOKI社区还通过了另一项提案,将交易税率从3%降至0.3%,并将于2月3日执行。或受此消息影响,FLOKI价格在过去24小时内涨超19%,现报价0.00002366美元,过去7天涨幅达到98.6%。[2023/1/30 11:36:31]
memory64已在DFINITY wasmtime部署:专注于DFINITY(ICP)和以太坊的全栈软件开发人员“lastmjs.eth ∞”在推特上表示,memory64刚刚已在wasmtime(互联网计算机DFINITY使用的Wasm runtime)中部署。这是一个主要的blocker,可以大大提高canister的容量上限(目前是大约4gb)。未来canister上限很快会被取消也未可知,甚至可能每canister达到TB级别。[2021/8/13 1:52:20]
c):https://etherscan.io/tx/0xa945b1857630e730bd3fac6459c82dee44da45e35cfbbd6dfb7b42146e8dde41
事件分析
如上图所示,攻击者按照攻击交易a->b->c流程发起攻击并获得收益离场,攻击复盘如下:
1.如a交易所示,攻击者先从uniswap中用weth兑换2091514065454个KEANU代币并抵押到Memestake合约(0x35C674C288577Df3e9b5dafEF945795b741c7810)中。2.如b交易所示,攻击者再利用闪电贷借取KEANU代币,并不断调用Memestake合约的deposit和withdraw函数用以消耗Memestake合约的KEANU代币,而这里就是漏洞的利用点:KEANU代币为通缩模型代币,即每笔交易会扣除2%的代币用于给其他持币用户分红。
但是Memestake中deposit和withdraw函数记录的都是转账发起者所支付的值,即用户抵押100个KEANU代币,实际到账合约的只有98个KEANU代币,但是提取的时候还是归还给用户100个KEANU代币,所以随着攻击者不停的抵押提取,合约的KEANU代币余额就越来越小。
当合约的KEANU代币余额变少时,影响了单位KEANU代币可兑换的MFUND代币数量(accMfundPerShare变量),即攻击者可以获得第一步抵押KEANU代币抵押所产生的巨额奖励MFUND代币。
3.如c交易所示,攻击者调用withdraw函数取出第一步抵押产生的MFUND代币,并归还第二步闪电贷借用的KEANU代币,并将巨额的MFUND代币再swap成WETH和SANSHU代币套利离场。
事件总结
本次闪电贷的攻击主要利用的还是通缩模型代币与传统挖矿合约逻辑不匹配导致的结果,项目方没有充分考虑到通缩模型带来的代币分红损失,导致了挖矿合约的代币余额越来越少,最终酿成了超额铸造了奖励代币MFUND的错误。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。