加密货币新闻 慢雾:Cream Fina...

慢雾:Cream Finance 被黑简要分析

慢雾

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

攻击流程

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

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

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

-> 借贷时,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.58 + 355) 个 ETH 与 9\,740\,000 个 AMP 代币;

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

总结

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

参考攻击交易:

https://etherscan.io/tx/0xa9a1b8ea288eb9ad315088f17f7c7386b9989c95b4d13c81b69d5ddad7ffe61e

本文来源:慢雾科技
原文标题:慢雾:Cream Finance 被黑简要分析声明:本文为入驻“火星号”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。 未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。免责声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与火星财经官方立场无关。鉴于中国尚未出台数字资产相关政策及法规,请中国大陆用户谨慎进行数字货币投资。
语音技术由科大讯飞提供

Recent Articles

SEC威胁起诉、用户信任下降,Coinbase如何...

Coinbase合规之路再遭磨难,SEC出面威胁起诉,数字资产将迎来最强监管。

Coinlist告诉你:为什么加密市场的代币数量越...

代币为开放服务的创建及货币化提供动力,另一个关键因素,是称为“可组合性”的概念。

风投Paradigm如何看待多链趋势下的跨链桥发展...

Cosmos 是为数不多,可能是唯一一个试图启用具有实际互操作性的充满活力的应用生态系统的项目。

波卡的NPoS机制是怎样运作的?

NPoS维护整个网络的安全从而获得更多的收益,也保证了网络更加的去中心化

德勤2021年区块链调查报告:数字资产正成为金融服...

银行业的基础已经基本过时,金融服务业的参与者必须重新定义自己,并找到创新的方法来创造未来经济增长的货币。

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

19 + 13 =