售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
11月13日,据CoinDesk消息,Akropolis协议遭到黑客攻击,损失约200万DAI。慢雾安全团队当天第一时间介入分析,将结论同步给相关利益方。以下是慢雾安全小组对此事件的简要分析,供大家参考。
背景概述
Akropolis是一个在Ethereum上运行的贷款和存款协议。用户可以使用Akropolis借款或在Akropolis存款收取贷款利息。
攻击过程分析
1.攻击者使用自己创建的令牌进行存款。此时,Akropolis合同将首先记录合同中所有代币的总金额;
2.当Akropolis合同调用用户创建的令牌的transferFrom函数时,攻击者在transferFrom函数中重新输入Akropolis合同的存款函数,并将其传递给DAI to Akropolis合同;
3.此时,在重入交易中,由于Akropolis合同将首先获得合同中所有代币的总额,因此该值与第一次调用存款函数获得的合同代币总额一致;
4.Akropolis合同计算充值前后合同中代币总额的差额。充值DAI后,攻击者会获得一定数量的Delphi令牌,获得的令牌数即为充值DAI数;
5.铸币完成后,该过程返回到第一次存款并继续执行。此时,合同将再次获得合同中所有代币的总金额。此时由于攻击者在重新进入交易时已经转移了一定数量的DAI,所以得到的令牌总余额就是攻击者重新进入交易后的令牌总余额;
6.这时候合同再算差额。由于合同中所有代币的总额在第一次存款时已经保存,计算出的差额与再进入交易中计算出的差额一致,Akropolis合同再次向攻击者铸造硬币。
摘要
攻击者使用自己的令牌重新进入Akropolis合同的存款功能,导致Akropolis合同两次使用相同的差额铸币,但只触发了一次转账。当攻击者兑现现金时,他可以将利润翻倍并获利。
相关链接:
CoinDesk关于Akropolis合同被攻击的报道:
https://www . coin desk.com/defi-project-akropolis-token-pool-drained
(2)分析样品:
https://ethercan . io/tx/0x3db 8d 4618 a a3 b 97 eeb 3a f 01 f 01692897d 14 F2 da 090d 5d 6407 f 550 a1 b 10 c 15133
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!