慢雾:Stars Arena 被黑简析

web3caff发布于2023-10-27更新于2023-10-27

文章摘要

本文将简析攻击者是如何利用 Stars Arena 的重入漏洞获利。

本文将简析攻击者是如何利用 Stars Arena 的重入漏洞获利。
作者:慢雾安全团队,慢雾科技
背景
据慢雾 MistEye 系统安全预警,2023 年 10 月 7 日,Avalanche 链上社交协议 Stars Arena 遭攻击,损失约 290 万美元。慢雾安全团队简析该攻击事件并将结果分享如下。
相关信息
攻击者地址:
https://snowtrace.io/address/0xa2ebf3fcd757e9be1e58b643b6b5077d11b4ad7a
攻击合约:
https://snowtrace.io/address/0x7f283edc5ec7163de234e6a97fdfb16ff2d2c7ac
https://snowtrace.io/address/dd9afc0e3c43951659c8ebe7aef9ee40879863ea
攻击交易:
https://snowtrace.io/tx/0x4f37ffecdad598f53b8d5a2d9df98e3c00fbda4328585eb9947a412b5fe17ac5
攻击核心
攻击者利用重入漏洞,篡改自己存款份额所对应的价格。随后在卖出时,又因该恶意操纵的价格计算依赖,导致类似的价格操控。通过精确计算重入时更新的份额价格,攻击者窃取了合约中的资金。
交易分析
我们可以发现攻击交易中存在一笔重入调用,我们通过反编译代码逐步分析调用方式。

攻击者先创建攻击合约(0x7f283 和 0xdd9af),通过攻击合约调用 Stars Arena: Shares 合约的 0xe9ccf3a3 方法,然后存入 1 枚 AVAX 代币。

根据反编译后的代码一步步跟踪,攻击者首先用的 0xe9ccf3a3 方法是一个类似于存款的函数,其中会调用 0x326c 和 0x2058 方法。0x326c 方法仅作为参数返回的调用,而 0x2058 方法类似于一个处理某种代币购买或交换的函数,该方法通过 0xe9ccf3a3 所传入的 AVAX 代币数额及地址来进行下一步操作及份额和费用的计算。

跟进 0x2058 方法第 92 行的调用逻辑,可以发现 0x1a9b 方法为一个计算函数,计算出的结果是一个类似于价格的值,其返回值为新计算出的 v24 / 0xde0b6b3a7640000 或者是 _initialPrice。
之后的 109 行,110 行及 116 行的 0x307c 和 0x30ef 方法中就存在 low-level call 的调用,而 0x30ef 的 call 还是对 varg1 也就是传入的 0xdd9af 攻击合约地址的外部调用。函数没有防重入锁的约束,并且在执行完外部调用后,此方法才会向下执行之后的 if 判断来更新 field0.length 及 field0 参数。毫无疑问,重入就是在此处发生的。

我们再来看攻击者在重入调用中构造的数据。

重入外部调用的是 0x5632b2e4 方法,并传入攻击者所构造的的 4 个参数,这些参数通过进制转化 153005ce00 为 91000000000。
正如上面讲到的,对 0x5632b2e4 方法的外部调用是执行在 if (varg0 == _getMyShares[address(varg1)][msg.sender]) 判断之前。这时 field0.lengt 值为 0, 并未更新。攻击者正好通过这个方式绕过 0x5632b2e4 方法中的判断,将 msg.sender 也就是攻击合约 0xdd9af 的以下 4 个参数状态都修改为了外部调用是时构造的数据。

通过以上操作之后,攻击者调用了 sellShares 来卖出自己的份额,获得了 266,102.97278 枚 AVAX。

深入 sellShares 函数,函数起先就调用了 0x1a9b 方法,而在之前的 0x2058 方法中就曾存在调用,是处理某种代币购买或交换的函数。我们可以发现,在 0x1a9b 方法中的 0x2329 方法会更新 owner_9f[varg0],而这个参数在重入时就已经被修改为攻击者所构造的 91000000000。

回到 0x1a9b 方法中,根据之前恶意构造的值重新计算(计算数额见注释)。

经过以上计算,新计算出的份额所对应的价格发生了改变,计算出的结果为 274,333.061476814e18。再经过一系列的费用收取过后,攻击者在没有修改份额的情况下使用恶意构造操纵的价格,卖出份额,成功获利。
总结
本次攻击的核心在于重入攻击所造成的价格计算依赖更新,进而导致了类似恶意价格操控。慢雾安全团队建议项目方应尽可能在经过多家安全公司审计后,再进行合约的部署发布;同时在编码时应尽可能满足 Checks-Effects-Interactions 编码规范,添加防重入锁。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。

热门币种推荐

你可能也喜欢

全球股市的风暴点:韩国股市的去杠杆已基本完成

近期韩国股市出现剧烈波动,KOSPI指数自6月高点最大回撤达32%,成为全球AI行情调整的“风暴中心”。文章指出,市场下跌的深层原因并非基本面恶化,而是由高度集中的杠杆资金结构所驱动。 具体来看,核心风险来源于两方面: 1. **杠杆ETF大规模去化**:前期规模一度接近500亿美元的杠杆ETF,其“每日再平衡”机制在下跌中引发了“股价下跌→强制平仓”的负向循环。目前其规模已从高点收缩约240亿美元,去化进度已达约75%,剩余压力显著收敛。监管层也已出台新规,从8月起严格限制此类产品,从源头降低风险。 2. **对冲基金快速降杠杆**:通过互换交易放大敞口的对冲基金,其多空持仓比率已从峰值显著回落,净多头水平显示杠杆已下降超过50%,最剧烈的被动去杠杆阶段基本完成。 相比之下,韩国居民融资余额占股市市值比重很小(约0.5%),且不具备强制平仓机制,难以成为系统性风险的核心来源。 综合而言,最容易引发“连锁抛售”的高杠杆结构已大部分出清,市场正从“流动性驱动的下跌”过渡到“基本面驱动的定价”。只要AI产业趋势未发生根本逆转,本轮调整更接近一次拥挤交易的集中出清,而非行情的终结。 文章最后强调,AI代表的硅基革命趋势不可逆,波动是参与趋势的成本而非风险。每一次调整都是在进行筹码结构的优化,并为认清趋势的投资者提供新的参与机会。

链捕手2小时前

全球股市的风暴点:韩国股市的去杠杆已基本完成

链捕手2小时前

自2024年以来推出的加密货币代币中,92.9%跌破发行价:CryptoRank

加密货币数据平台CryptoRank的最新研究显示,自2024年以来发行的加密货币代币中,有高达92.9%目前正低于其代币生成事件(TGE)时的初始价格。 该分析聚焦于市值超过1亿美元的项目,在2024年至2026年间发行的113个项目中,仅有8个仍保持在发行价之上,其余105个均已跌破。这意味着只有约7.1%的项目为投资者带来了正回报,而整体样本的中位数回报率低至-95.7%。 表现最突出的项目是Hyperliquid (HYPE),自TGE以来上涨了1,519%。其次是Ondo Finance (ONDO)、EverValue Coin (EVA)和Midnight Network (NIGHT),涨幅分别为101.4%、20.32%和16.50%。 数据表明,与过去市场周期中新股常持续上涨不同,当前投资者变得更加挑剔。资本正越来越集中于少数已证明其产品采用度、生态增长或强劲市场需求的项目。许多新代币难以维持初始估值。 这一趋势反映了市场关注点的转变:投资者愈发看重代币经济学、流通供应量、解锁时间表和长期实用性,而非仅关注上市初期的价格动能。 研究结果可能影响未来项目的发行策略。项目因过高的完全稀释估值(FDV)、上市初期流通量不足以及大量未来代币解锁计划而备受审视,这些因素都可能在新供应进入市场时对价格构成下行压力。因此,开发者和投资者未来或将更重视可持续的代币分发模式和长期的生态增长,而非激进的初始估值。

ambcrypto2小时前

自2024年以来推出的加密货币代币中,92.9%跌破发行价:CryptoRank

ambcrypto2小时前

交易

现货

热门文章

如何购买ZRX

欢迎来到HTX.com!我们已经让购买ZRX(0X)(ZRX)变得简单而便捷。跟随我们的逐步指南,放心开始您的加密货币之旅。第一步:创建您的HTX账户使用您的电子邮件、手机号码注册一个免费账户在HTX上。体验无忧的注册过程并解锁所有平台功能。立即注册第二步:前往买币页面,选择您的支付方式信用卡/借记卡购买:使用您的Visa或Mastercard即时购买ZRX(0X)(ZRX)。余额购买:使用您HTX账户余额中的资金进行无缝交易。第三方购买:探索诸如Google Pay或Apple Pay等流行支付方法以增加便利性。C2C购买:在HTX平台上直接与其他用户交易。HTX场外交易台(OTC)购买:为大量交易者提供个性化服务和竞争性汇率。第三步:存储您的ZRX(0X)(ZRX)购买完您的ZRX(0X)(ZRX)后,将其存储在您的HTX账户钱包中。您也可以通过区块链转账将其发送到其他地方或者用于交易其他加密货币。第四步:交易ZRX(0X)(ZRX)在HTX的现货市场轻松交易ZRX(0X)(ZRX)。访问您的账户,选择您的交易对,执行您的交易,并实时监控。HTX为初学者和经验丰富的交易者提供了友好的用户体验。

676人学过发布于 2024.03.29更新于 2026.06.02

如何购买ZRX

相关讨论

欢迎来到HTX社区。在这里,您可以了解最新的平台发展动态并获得专业的市场意见。以下是用户对ZRX(ZRX)币价的意见。

活动图片