据慢雾区消息,EqualizerFinance今日遭受闪电贷攻击。此次攻击的主要原因在于EqualizerFinance协议的FlashLoanProvider合约与Vault合约不兼容。慢雾安全团队建议协议在进行实际实现时应充分考虑各个模块间的兼容性。
慢雾安全团队以简讯形式将攻击原理分享如下:
慢雾:NEXT空投领取资格检查通过默克尔证明进行,没有资格领取空投的用户无法绕过检查领取他人空投:金色财经报道,据慢雾区情报,有部分账户的NEXT代币被claim到非预期的地址,慢雾安全团队跟进分析后分享简析如下:
用户可以通过NEXTDistributor合约的claimBySignature函数领取NEXT代币。其中存在recipient与beneficiary角色,recipient角色用于接收claim的NEXT代币,beneficiary角色是有资格领取NEXT代币的地址,其在Connext协议公布空投资格时就已经确定。
在用户进行NEXT代币claim时,合约会进行两次检查:一是检查beneficiary角色的签名,二是检查beneficiary角色是否有资格领取空投。在进行第一次检查时其会检查用户传入的recipient是否是由beneficiary角色进行签名,因此随意传入recipient地址在未经过beneficiary签名的情况下是无法通过检查的。如果指定一个beneficiary地址进行构造签名即使可以通过签名检查,但却无法通过第二个对空投领取资格的检查。
空投领取资格检查是通过默克尔证明进行检查的,其证明应由Connext协议官方生成,因此没有资格领取空投的用户是无法绕过检查领取他人的空投的。[2023/9/5 13:19:43]
1.EqualizerFinance存在FlashLoanProvider与Vault合约,FlashLoanProvider合约提供闪电贷服务,用户通过调用flashLoan函数即可通过FlashLoanProvider合约从Vault合约中借取资金,Vault合约的资金来源于用户提供的流动性。
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
2.用户可以通过Vault合约的provideLiquidity/removeLiquidity函数进行流动性提供/移除,流动性提供获得的凭证与流动性移除获得的资金都受Vault合约中的流动性余额与流动性凭证总供应量的比值影响。
动态 | 慢雾: 警惕利用EOS及EOS上Token的提币功能恶意挖矿:近期由于EIDOS空投导致EOS主网CPU资源十分紧张,有攻击者开始利用交易所/DApp提币功能恶意挖矿,请交易所/DApp在处理EOS及EOS上Token的提币时,注意检查用户提币地址是否是合约账号,建议暂时先禁止提币到合约账号,避免被攻击导致平台提币钱包的CPU资源被恶意消耗。同时,需要注意部分交易所的EOS充值钱包地址也是合约账号,需要设置白名单避免影响正常用户的提币操作。[2019/11/6]
3.以WBNBVault为例攻击者首先从PancekeSwap闪电贷借出WBNB
4.通过FlashLoanProvider合约进行二次WBNB闪电贷操作,FlashLoanProvider会先将WBNBVault合约中WBNB流动性转给攻击者,随后进行闪电贷回调。
5.攻击者在二次闪电贷回调中,向WBNBVault提供流动性,由于此时WBNBVault中的流动性已经借出一部分给攻击者,因此流动性余额少于预期,则攻击者所能获取的流动性凭证将多于预期。
6.攻击者先归还二次闪电贷,然后从WBNBVault中移除流动性,此时由于WBNBVault中的流动性已恢复正常,因此攻击者使用添加流动性获得凭证所取出的流动性数量将多于预期。
7.攻击者通过以上方式攻击了在各个链上的Vault合约,耗尽了EqualizerFinance的流动性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。