CRE:慢雾:Cream Finance 被黑简要分析_AMP

2021年08月30日,据慢雾区消息,DeFi抵押借贷平台CreamFinance遭受闪电贷攻击,损失约1800万美元。慢雾安全团队第一时间介入分析,并将简要分析结果分享如下:

攻击流程

1.攻击者从Uniswap闪电贷借出500ETH;

2.将500ETH抵押到crETH合约中,获得crETH凭证;

3.从crAMP合约借出19,480,000AMP;

->借贷时,cToken合约会先通过doTransferOut函数将AMP代币转移给攻击者,再记录攻击者的借贷数量到accountBorrows中;

->但AMP代币的transfer函数会通过钩子(_callPostTransferHooks)函数回调攻击者合约的tokensReceived函数;

->攻击者合约在tokensReceived函数中再次调用了crETH合约,借出355个ETH;

->由于第一次借贷的合约是crAMP合约,第二次重入调用借贷的是crETH合约,所以borrow函数的防重入修饰器(nonReentrant)不起作用;

->并且borrow函数是在给用户转账后再修改的借贷记录(accountBorrows),导致攻击者可以进行超额借贷;

4.随后攻击者使用另外一个合约(0x0ec3)对已经爆仓的合约(0x38c4)进行清算,使得不会因为超额借贷而导致交易失败;

5.之后攻击合约(0x38c4)将crETH凭证转给0x0ec3合约,0x0ec3合约使用这些凭证赎回了约187.58个ETH;

6.最后在这笔交易中攻击者获得了约542.58(187.58355)个ETH与9,740,000个AMP代币;

7.最后攻击者归还闪电贷,获利走人。其他攻击交易类似。

总结

本次攻击是由于Cream借贷模型与AMP代币不兼容导致的。由于AMP代币转账时会使用钩子函数回调目标地址,且CreamcToken合约是在借贷转账后才记录借贷数量,最终造成了超额借贷的问题。

参考攻击交易:https://etherscan.io/tx/0xa9a1b8ea288eb9ad315088f17f7c7386b9989c95b4d13c81b69d5ddad7ffe61e

来源链接:mp.weixin.qq.com

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

慢雾

慢雾

慢雾科技是一家专注区块链生态安全的国家高新技术企业,通过「威胁发现到威胁防御一体化因地制宜的安全解决方案」服务了全球许多头部或知名的项目。慢雾科技的安全解决方案包括:安全审计、威胁情报、漏洞赏金、防御部署、安全顾问等服务并配套有加密货币反、假充值漏洞扫描、漏洞监测、被黑档案库、智能合约防火墙、SafeStaking等SAAS型安全产品,已有商业客户上千家。慢雾慢雾科技慢雾AML慢雾安全Slowmist查看更多

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:31ms0-6:77ms