PANews 9月8日消息,慢雾安全团队对New Free Dao今日遭遇的闪电贷攻击进行了分析,称此次攻击的主要原因在于合约中计算奖励的方式过于简单,仅取决于调用者的余额故导致被闪电贷套利。慢雾安全团队建议在设计奖励方式时应采用多个因素动态计算。
攻击过程如下:1. 攻击者首先通过闪电贷从 Pancake 借出了大量的 WBNB,并换成了NFD代币;2. 攻击者将第一步兑换的 NFD 代币转入攻击合约中,攻击合约会创建一个新的攻击合约2并接收代币;3. 攻击合约2调用了未开源的被黑合约中 (0x8b068e22) 的 0x6811e3b9 函数,通过反编译该合约分析出该函数仅通过调用者的 NFD 代币余额来计算获取的奖励并将奖励转给调用者,余额越多计算的奖励就越大,攻击合约 2 将在获取奖励后把奖励转移给新部署的攻击合约,并再次调用 0x6811e3b9 函数获取奖励,通过不断创建新的攻击合约获取奖励来滚雪球套出池子里的所有代币;4. 将获得的NFD代币通过Pancake换成WBNB,归还闪电贷后获利。攻击交易:0x1fea385acf7ff046d928d4041db017e1d7ead66727ce7aacb3296b9d485d4a26。
此前消息,New Free Dao项目疑似遭闪电贷攻击,攻击者获利4500枚BNB(约合125万美元),并将其中的2000枚BNB兑换成55万枚BSC链上的USD。