一.事件背景
8月17日,有消息爆出BSC上DeFi协议XSURGE遭到闪电贷攻击,被盗金额价值500万美金。知道创宇区块链安全实验室迅速展开分析。
二.攻击合约及交易
攻击合约地址:
区块链基础设施提供商Aura Network推出Xstaxy主网:金色财经报道,区块链基础设施提供商Aura Network宣布Xstaxy主网将于世界标准时间 3 月 20 日 13:00 正式启动。Aura Network通过将最新技术集成到 Xstaxy 主网中,旨在提供卓越的可扩展性、安全性和可靠性。[2023/3/21 13:15:54]
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
攻击交易链接:
https://bscscan.com/tx/0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2
财经网站Fxstreet前瞻美国非农数据:市场正为惊喜做好准备:1月7日消息,美国ADP周三公布的私营部门就业报告令人瞩目,市场参与者正准备迎接美国劳工部官方数据带来的惊喜。FXStreet高级分析师Trevisani表示,就业的可获得性、极低的裁员水平、许多工人希望提高工资以应对飙升的通胀以及美国经济充满活力的扩张应该会给12月的非农就业人数带来一个良好的结果。考虑到出彩的相关指标和ADP报告的结果,风险倾向于实际数据显著高于市场预期。(金十)[2022/1/7 8:33:15]
三.事件复盘
声音 | Fxstreet分析师:BCH突破450美元将打开新的上涨空间:Fxstreet分析师Ken Chigb认为,本月BCH几次试图突破450美元都无功而返,显然这一价位已经暂时成为多头的阻力,一旦突破450美元将为BCH打开新的上涨空间。[2019/5/28]
分析攻击交易,攻击者通过闪电贷借入BNB后购买surge代币,然后不断卖出再买入,最后套利离场,分析代币源代码可以发现,这次漏洞的原因是因为合约内的sell函数导致的重入漏洞。
sell函数计算完卖出代币所值BNB数量后,合约会把BNB发送给攻击合约,但是如果攻击合约此时在回退函数中又执行了purchase函数,就会导致重入的发生。
观察此次函数调用产生的影响,由于这是在sell函数中调用的purchase,所以totaslSupply还没有销毁掉sell的SurgeToken,导致totalSupply高于正常值,bnbAmount和prevBNBAmount的值会因为94%的手续费问题而有所变化,但也影响不大。
也就是说攻击者通过买入-卖出-买入的操作,以更低的代币价格获取到了更多的surge代币,值得一提的是因为sell函数中nonReentrant修饰函数的影响,攻击合约只能重复之前的操作,也说明了防重入修饰函数不能完全解决这种伪重入问题,最好的方法还是限制call函数转账调用,用更安全的transfer函数限制转账gas消耗。
四.事件总结
最近链上安全事件频繁发生,这次重入漏洞又造成了重大的经济损失,我们建议各大项目方认真审视自身代码,做好安全保障。同时官方发文称将会尽量弥补受害者被盗资金,如有最新进展,我们将会及时跟进。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。