慢雾:Stars Arena 被黑简析

web3caffXuất bản vào 2023-10-27Cập nhật gần nhất vào 2023-10-27

Tóm tắt

本文将简析攻击者是如何利用 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 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。

Tiền kỹ thuật số thịnh hành

Nội dung Liên quan

Các nhà đầu tư XRP có lời trở lại, nhưng cầu Spot đã biến mất: Liệu $1.10 có giữ được?

Cấu trúc thị trường gần đây của XRP đang gửi đi những tín hiệu trái chiều khi hoạt động dịch chuyển khỏi giao dịch Spot sang thị trường phái sinh. Giá củng cố trong khoảng $1.086 và $1.113 bất chấp khối lượng giao dịch giảm dần, cho thấy chưa bên mua hay bên bán nắm lợi thế quyết định. Điều đáng chú ý là Mở Interest (OI) cho XRP lại tăng khoảng 5.9% lên 423.8 triệu XRP, và tỷ lệ đòn bẩy ước tính tăng lên 0.162. Sự phân kỳ này quan trọng vì phái sinh có thể duy trì vị thế mà không cần thêm vốn mới vào thị trường. Trong khi dòng tiền vào/ra thị trường Spot sụp đổ ~99%, các nhà giao dịch sử dụng đòn bẩy ngày càng trở thành lực lượng chi phối chính trong việc định giá XRP, giải thích cho sự củng cố giá. Tuy nhiên, nếu nhu cầu Spot không quay trở lại để xác nhận các vị thế này, mức đòn bẩy ngày càng tăng khiến XRP dễ bị tổn thương trước một đợt thanh lý mạnh nếu tâm lý đột ngột thay đổi. Về khía cạnh tích cực, các nhà nắm giữ ngắn hạn (STH) của XRP cuối cùng đã quay trở lại trạng thái có lãi khi chỉ số MVRV 30 ngày vượt lên mức trung tính, đạt 1.03. Sự cải thiện này tương đồng với xu hướng phục hồi tâm lý nhà đầu tư trên các tài sản vốn hóa lớn khác như Bitcoin, Ethereum. Tuy nhiên, sự thay đổi về khả năng sinh lời này cũng làm thay đổi cấu trúc động lực trên thị trường. Khi ngày càng nhiều người nắm giữ ngắn hạn thoát khỏi các khoản lỗ tiềm ẩn, áp lực giữ tài sản thường nhường chỗ cho xu hướng muốn chốt lời. Mặc dù altcoin này vẫn nằm dưới vùng bán lịch sử, hành động giá ngày càng khó duy trì do thiếu nhu cầu mới và khả năng xuất hiện áp lực chốt lời. Tóm lại, trong khi các nhà nắm giữ XRP đã có lãi trở lại, đợt tăng giá chủ yếu được thúc đẩy bởi đòn bẩy trên thị trường phái sinh hơn là nhu cầu Spot thực tế. Mức hỗ trợ $1.10 đang gặp rủi ro khi áp lực chốt lời gia tăng và những nghi ngờ về tính bền vững của xu hướng hiện tại ngày càng lớn.

ambcrypto35 phút trước

Các nhà đầu tư XRP có lời trở lại, nhưng cầu Spot đã biến mất: Liệu $1.10 có giữ được?

ambcrypto35 phút trước

Kalshi tuyên bố kháng cáo sau khi thẩm phán Washington cho rằng thị trường dự đoán có khả năng vi phạm luật cờ bạc của tiểu bang

Kalshi tuyên bố sẽ kháng cáo sau khi một thẩm phán tại Washington ra lệnh cấm sơ bộ, xác định rằng nền tảng giao dịch dự đoán này có khả năng vi phạm luật cờ bạc và bảo vệ người tiêu dùng của tiểu bang. Văn phòng Tổng chưởng lý Washington cho rằng Kalshi hoạt động như một doanh nghiệp cá cược trực tuyến bất hợp pháp, cho phép người dùng đặt cược vào nhiều sự kiện từ thể thao đến bầu cử. Kalshi phản đối phán quyết, khẳng định thị trường dự đoán thuộc thẩm quyền quản lý độc quyền của Ủy ban Giao dịch Hàng hóa Tương lai (CFTC) theo Đạo luật Trao đổi Hàng hóa, và các tiểu bang không có quyền điều chỉnh. Tuy nhiên, tòa án Washington nhận định đạo luật liên bang không có hiệu lực áp đảo luật cờ bạc của tiểu bang trong trường hợp này. Vụ việc có thể tạo tiền lệ quan trọng cho việc giám sát các thị trường dự đoán trên toàn quốc, làm rõ sự cạnh tranh thẩm quyền giữa cơ quan liên bang và luật cờ bạc của các tiểu bang. Lệnh cấm chính thức dự kiến được ban hành vào ngày 5/8.

ambcrypto56 phút trước

Kalshi tuyên bố kháng cáo sau khi thẩm phán Washington cho rằng thị trường dự đoán có khả năng vi phạm luật cờ bạc của tiểu bang

ambcrypto56 phút trước

Thiết lập 70K USD của Bitcoin đã ở đây dù nhu cầu Spot yếu – Đây là cách!

Thị trường đang cho thấy Bitcoin có thể phải đối mặt với nhiều biến động hơn. Báo cáo từ Glassnode chỉ ra rằng đã có hoạt động chốt lời mạnh quanh mức 65.000 USD, trong khi áp lực bán gia tăng. Nhu cầu mua spot, dù phục hồi vào đầu tháng 7, hiện đã suy yếu trở lại, làm dấy lên lo ngại về nguy cơ xảy ra sự kiện thanh lý các vị thế mua (long liquidation) nếu thiếu lực mua mới. Tuy nhiên, dữ liệu phái sinh cho thấy các vị thế mua kỳ vọng giá lên (bullish positioning) và đòn bẩy đang gia tăng trở lại, với tỷ lệ funding rate dương tăng hơn 20% trong vòng chưa đầy 72 giờ. Điều này có thể khiến Bitcoin dễ bị tổn thương trước một đợt điều chỉnh mạnh nếu nhu cầu spot vẫn yếu. Một yếu tố tích cực nổi bật là hành vi của cá voi Bitcoin. Trong 60 ngày qua, họ đã tích lũy 66.700 BTC bất chấp đợt điều chỉnh giảm gần 25%, trong khi các nhà đầu tư cỡ trung bình lại bán ra. Hành động này báo hiệu sự chuyển giao cổ phiếu từ tay những người nắm giữ ngắn hạn (STH) sang tay những người nắm giữ dài hạn (LTH) kiên định hơn, một dấu hiệu thường xuất hiện trước một xu hướng tăng bền vững. Do đó, dù nhu cầu spot yếu, cấu trúc thị trường hiện tại—với sự tích lũy của cá voi và định vị phái sinh—có khả năng hỗ trợ Bitcoin hướng tới mốc 70.000 USD, thay vì tạo ra một cái bẫy tăng giá (bull trap).

ambcrypto1 giờ trước

Thiết lập 70K USD của Bitcoin đã ở đây dù nhu cầu Spot yếu – Đây là cách!

ambcrypto1 giờ trước

Giao dịch

Giao ngay

Bài viết Nổi bật

Làm thế nào để Mua ZRX

Chào mừng bạn đến với HTX.com! Chúng tôi đã làm cho mua ZRX(0X) (ZRX) trở nên đơn giản và thuận tiện. Làm theo hướng dẫn từng bước của chúng tôi để bắt đầu hành trình tiền kỹ thuật số của bạn.Bước 1: Tạo Tài khoản HTX của BạnSử dụng email hoặc số điện thoại của bạn để đăng ký tài khoản miễn phí trên HTX. Trải nghiệm hành trình đăng ký không rắc rối và mở khóa tất cả tính năng. Nhận Tài khoản của tôiBước 2: Truy cập Mua Crypto và Chọn Phương thức Thanh toán của BạnThẻ Tín dụng/Ghi nợ: Sử dụng Visa hoặc Mastercard của bạn để mua ZRX(0X) (ZRX) ngay lập tức.Số dư: Sử dụng tiền từ số dư tài khoản HTX của bạn để giao dịch liền mạch.Bên thứ ba: Chúng tôi đã thêm những phương thức thanh toán phổ biến như Google Pay và Apple Pay để nâng cao sự tiện lợi.P2P: Giao dịch trực tiếp với người dùng khác trên HTX.Thị trường mua bán phi tập trung (OTC): Chúng tôi cung cấp những dịch vụ được thiết kế riêng và tỷ giá hối đoái cạnh tranh cho nhà giao dịch.Bước 3: Lưu trữ ZRX(0X) (ZRX) của BạnSau khi mua ZRX(0X) (ZRX), lưu trữ trong tài khoản HTX của bạn. Ngoài ra, bạn có thể gửi đi nơi khác qua chuyển khoản blockchain hoặc sử dụng để giao dịch những tiền kỹ thuật số khác.Bước 4: Giao dịch ZRX(0X) (ZRX)Giao dịch ZRX(0X) (ZRX) dễ dàng trên thị trường giao ngay của HTX. Chỉ cần truy cập vào tài khoản của bạn, chọn cặp giao dịch, thực hiện giao dịch và theo dõi trong thời gian thực. Chúng tôi cung cấp trải nghiệm thân thiện với người dùng cho cả người mới bắt đầu và người giao dịch dày dạn kinh nghiệm.

Tổng lượt xem 212Xuất bản vào 2024.12.10Cập nhật vào 2026.06.02

Làm thế nào để Mua ZRX

Thảo luận

Chào mừng đến với Cộng đồng HTX. Tại đây, bạn có thể được thông báo về những phát triển nền tảng mới nhất và có quyền truy cập vào thông tin chuyên sâu về thị trường. Ý kiến ​​của người dùng về giá của ZRX (ZRX) được trình bày dưới đây.

活动图片