根据慢雾安全团队信息,2023年6月1日,Cellframe遭到闪电贷攻击,Cellframe ERC20 v2价格下跌41.2%。慢雾安全小组立即介入分析,并分享了如下结果:
相关信息
攻击者地址:
0x 2525 c 811 ECF 22 fc 5 fcde 03 c 67112d 34 e 97 da 6079
攻击者合同地址:
0x 1 e2a 251 b 29 e 84 E1 d6d 762 c 78 a9 db 5113 F5 ce 7c 48
攻击交易:
0x 943 C2 a5 f 89 BC 0 c 17 F3 Fe 1520 EC 6215 ed 8 c6b 897 ce 7 f 22 f1 b 207 FEA 3 f 79 AE 09 a 6
攻击者添加LP(旧)事务:
0 xe 2d 496 cc C3 C5 FD 65 a 55048391662 b 8d 40 DDB 5952 DC 26 c 715 c 702 ba 3929158 CB 9
先前信息
这次攻击有很多新老合同。在这次攻击分析中,我们将使用LpMigration契约中新旧契约的参数名称作为契约名称。
地址OLD _ CELL:0xf 3 e 1449 DDB 6b 218 da 2c 9463d 4594 cecc 8934346
地址LP _ OLD:0x 06155034 f 71811 fe0d 6568 ea 8 BDF 6 EC 12d 04 bed 2
地址单元:0xd 98438889 AE 7364 C7 e2a 3540547 fad 042 FB 24642
地址LP _ NEW:0x 1 c 15 f 4 E3 FD 885 a 34660829 AE 692918 B4 b 9 c 1803d
具体细节分析
1.通过多多的公司闪电借出1000 BNBs。
2.通过PancakeSwap V3 lightning借出50万个细胞。
3.在PancakeSwap V2 LP_NEW池中,攻击者将所有由lightning借出的500,000个单元令牌交换到50个bnb中。此时LP_NEW池中只剩下8个bnb,CELL中有55万个。
4.紧接着,攻击者将另一个PancakeSwap V2池LP_OLD中的900个bnbswaps命名为OLD_CELL。此时LP_OLD中的bnb数为902,OLD_CELL中的bnb数仅为7。
5.攻击者将BNB转换为OLD_CELL后,我们发现攻击者直接调用LpMigration契约的migrate函数进行LP迁移。奇怪的是,在我们刚才的分析中,攻击者并没有得到LP Token的操作,那么这些LP Token是从哪里来的呢?
6.所以我们回到攻击契约。通过攻击合约之前的交易,可以发现攻击者在交易中向LP_OLD池添加流动性,获得LP(OLD)令牌。
7.攻击者不断地迁移LP_OLD池中的LP(OLD)。详情如下:
首先,调用migrateLP函数移除LP(OLD)的流动性,并将令牌返回给用户。因为池LP_OLD中有很多BNB令牌,当去除流动性后,计算得到的bnb数量会增加,OLD_CELL会减少。然后,在LP_NEW池中,getReserves获取BNB和CELL的编号。由于之前的交换操作,LP_NEW pool中的bnb数量少,cell数量多,所以计算出来的resoult值会过大,使得新计算出来的cell的token1值过大。
8.但是,在最初的LpMigration契约中,有一个CELL令牌,因此攻击者用来添加流动性的token1令牌来自LpMigration契约。然后将计算结果添加到路由器_V2池的流动性中。(PS:这就是为什么在攻击之后,CELLframe: Deployer会通过withdrawCELL()函数取出契约中所有的cell令牌。)
9.换句话说,攻击者在LP_OLD pool中使用更多的BNB,使用更少的OLD_CELL,通过移除流动性获得更多的BNB。但在LP_NEW池BNB少细胞多的情况下,可以用少量BNB和细胞补充流动性。攻击者从多次迁移操作中获利。
最后,攻击者移除LP_NEW的流动性,在LP_OLD池中将旧的CELL转换成BNB,然后在新的CELL-BUSD池中将其转换成BUSD和BNB,并偿还FlashLoan,从而获利。49660.68686868661
摘要
这种攻击的核心是利用流动性迁移计算。攻击者操纵两个不同池中的流动性,使其失衡,然后套利。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。
原文地址"慢雾科技ceo,慢雾科技属于什么公司":http://www.ljycsb.cn/qukuailian/215938.html。

微信扫描二维码投放广告
▲长按图片识别二维码