币圈子-打造专业区块链媒体平台

DeFi再传闪电贷攻击! Popsicle和Wault损失超过2000万美元

2021-08-05 15:42:33 | 来源:互联网 | 12574人阅读 | 作者:币圈子
全文导读
去中心化造市商Popsicle Finance和收益聚合平台Wault Finance接连遭到骇客攻击,分别损失2,070万美元和88.8万美元。PeckShield安全人员第一时间为你分析此次攻击事件。

DeFi再传闪电贷攻击! Popsicle和Wault损失超过2000万美元

8月4日,去中心化造市商Popsicle Finance和收益聚合平台Wault Finance接连遭到骇客攻击,分别损失2,070万美元和88.8万美元。

PeckShield安全人员第一时间定位分析,发现在Popsicle Finance的安全事件中,攻击者创建了3个合约,即合约A、B、C,并在8个流动池中重复调用A.deposit()、A.transfer(B)、B.collectFees()、B.transfer(C)、C.collectFees()进行攻击。

简述Popsicle Finance攻击过程:

第一步:攻击者从Aave中通过闪电贷借出3,000万USDT、1,300WETH、1,400BTC、3,000万USDC、3,000万DAI和200,000UNI。

第二步:调用合约A的deposit()函数,在USDT-WETHPLP流动池中添加3,000万USDT和5,460WETH,同时获得10.52PLPtokens。

第三步:A将10.52PLPtokens转给B。

第四步:调用合约B的collectFees()函数,旨在更新tokenRewards。

第五步:B将10.52PLPtokens转给C。

第六步:调用合约C的collectFees()函数,旨在更新tokenRewards。

第七步:C将10.52PLPtokens转给A,便于A移除流动性。

第八步:调用合约A的withdraw()函数,移除流动性,A获得3,000万USDT和5,460WETH。

第九步:调用合约B的collectFees()函数,获得奖励215万USDT和392WETH。

第十步:调用合约C的collectFees()函数,获得奖励215万USDT和402WETH。

最后,攻击者重复操作二至十的步骤,归还闪电贷完成攻击。

PeckShield安全人员发现Wault Finance的攻击手段和此前损失1,000多万美元的yDAI相似,即使在USDT-WEX交易对的价格被操纵的情况下,stake()函数仍可通过相关的USDT-WEX交易对,强制将USDT兑换为WEX。

简述Wault Finance攻击过程:

第一步:攻击者通过闪电贷从WUSD-USDT池中借出1,683万WUSD。

第二步:调用WUSD Master赎回1,503万USDT(90%)和1.065亿WEX(10%),此时WEX的价格为0.015USDT。

第三步:攻击者从PancakeSwap通过闪电贷借出4,000万USDT,并将其中2,300万USDT兑换为WEX,此时WEX的价格上升至0.044USDT,攻击者获得5.179亿WEX。

第四步:攻击者重复调用stake()函数,质押68次25万USDT(总计1,700万USDT),每次质押WUSD Master都会将其中10%的USDT强制兑换为WEX,此时WEX的价格为0.14USDT。

第五步:攻击者归还1,688万WUSD闪电贷。

第六步:攻击者用6.24亿WEX兑换为USDT,获得2,593万USDT,随后归还4,012万USDT的闪电贷;此时攻击者获利11万WUSD和84万USDT,并将这些代币在PancakeSwap上兑换为370ETH,并通过AnySwap跨链到以太坊上。

受到安全事件的影响,WEX一度腰斩,从0.012美元跌至最低0.006美元,截稿前已回调至0.0099美元。

温馨提示:文章不代表币圈子立场,不构成任何投资建议,谨防风险!本文来源于币圈子网站,转载请注明出处!侵权必究!
相关阅读
扩展阅读