慢雾: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 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。

你可能也喜歡

国内首例具身数据合规出海:帕西尼何以成为行业发展的破局者?

“具身智能数据合规出海”迎来关键进展。在2026世界智能产业博览会上,帕西尼感知科技牵头的“全国首例具身智能数据跨境”项目在天津启动。帕西尼成为国内目前唯一获准开展具身数据跨境业务的企业,成功开辟了合规出海的国际通道。 具身智能作为AI发展的重要方向,其演进高度依赖海量、多维的物理世界交互数据。尽管全球需求爆发,但行业此前受限于严苛的合规门槛,难以实现数据合规出境。帕西尼率先走通官方审批流程,打通了从数据采集、加工、认证到出境的全程合规链路,树立了行业规范化发展的标杆。 其破局的核心在于领先的数据基础设施与合规安全架构。帕西尼建成了百亿级高质量全模态数据的“数采工厂”,拥有强大的规模化数据生产能力,同时在国内率先实现了数据跨境的全流程合规。这不仅支撑了自身发展,也契合国家推动数据要素高效流通的战略方向。 该项目的成功,为帕西尼带来了国际资本(如摩根士丹利、高盛)的认可,并构筑了“最大数采工厂”与“唯一合规通道”的双重竞争壁垒。帕西尼通过解决数据基座与合规出海的基础设施难题,为全球具身智能产业提供了“中国样本”,有望在产业长跑中持续释放中国智能制造的全球影响力。

marsbit1 分鐘前

国内首例具身数据合规出海:帕西尼何以成为行业发展的破局者?

marsbit1 分鐘前

SpaceX 路演全解读:人类史上最大 IPO,要把 GPU 送上太空

SpaceX于6月4日启动IPO路演,计划募资750亿美元,目标估值1.75万亿美元,有望成为史上最大IPO。公司业务围绕三大支柱展开: 太空业务(地基):提供低成本发射服务,占据全球80%以上轨道运输,但自身因Starship研发投入而亏损,核心价值在于为其他板块降本。 Starlink(连接业务):是公司的主要盈利引擎,用户数增长迅速,2025年营收114亿美元,利润率持续扩张。即将部署的V3卫星将大幅提升网络容量。 AI业务(合并xAI):包含算力基础设施、Grok大模型和X平台,目前亏损严重,2025年经营亏损64亿美元,是主要的资本开支消耗者,但公司给出了巨大的市场前景(TAM达数万亿美元)。 路演的核心叙事是“轨道AI计算”,即利用太空的太阳能和散热优势,通过Starship将GPU等计算设备送入轨道,以解决地面电力瓶颈,构建太空AI基础设施。公司已向FCC申请部署百万颗轨道数据中心卫星。 此外,PPT还展望了月球经济、火星开发等长期愿景,这部分构成了估值的“信仰溢价”。 风险方面,xAI的巨额亏损、关联交易以及2026年末开始的内部人士股份解锁可能带来压力。分析认为,Starlink的扎实业务支撑约6000亿美元估值,其余近1万亿美元估值反映了对太空AI等未来机遇的期权溢价。 短期股价可能因流通盘小、纳入指数预期等供不应求,但长期需关注基本面和解锁抛压。

marsbit8 分鐘前

SpaceX 路演全解读:人类史上最大 IPO,要把 GPU 送上太空

marsbit8 分鐘前

非洲支付市场格局的宏观经济溯因

非洲支付市场呈现高移动支付渗透率与快速加密货币采用,其背后是宏观经济结构的必然结果。非洲经济高度依赖资源出口、贸易与侨汇,催生了巨大的跨境结算与汇款需求。然而,本土金融基础设施落后,同时面临国际银行“去风险化”退出、外汇管理失当以及顽固的通胀压力,导致传统银行体系长期缺位。 这一真空地带由移动支付与加密货币填补。移动支付(如肯尼亚的M-Pesa)依托广泛代理网络,成为日常支付渠道。加密货币则承担起价值储存与低成本跨境媒介的角色,帮助民众和企业应对本币贬值与美元短缺。撒哈拉以南非洲是这一趋势的核心,其严重的“美元荒”与碎片化货币体系,天然催生了对此类替代方案的需求。 非洲内部存在显著差异。撒哈拉沙漠以北的北非地区与中东经济金融体系融合更深。而以尼日利亚、肯尼亚、南非为代表的撒哈拉以南非洲,才是移动支付与加密货币增长的主力市场。该地区深度的“美元化”与官方外汇管制催生了活跃的平行市场,为加密货币提供了生存土壤。 尽管存在区域去美元化与金融一体化的政策尝试,但受制于依赖大宗商品出口、持续贸易逆差等结构性因素,去美元化进程漫长。因此,在可预见的未来,移动支付与加密货币仍将是弥补非洲传统金融体系缺陷的关键基础设施。

marsbit13 分鐘前

非洲支付市场格局的宏观经济溯因

marsbit13 分鐘前

交易

現貨
合約

熱門文章

如何購買ZRX

歡迎來到HTX.com!在這裡,購買ZRX(0X) (ZRX)變得簡單而便捷。跟隨我們的逐步指南,放心開始您的加密貨幣之旅。第一步:創建您的HTX帳戶使用您的 Email、手機號碼在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為初學者和經驗豐富的交易者提供了友好的用戶體驗。

250 人學過發佈於 2024.12.10更新於 2026.06.02

如何購買ZRX

相關討論

歡迎來到 HTX 社群。在這裡,您可以了解最新的平台發展動態並獲得專業的市場意見。 以下是用戶對 ZRX (ZRX)幣價的意見。

活动图片