Litecoin

Web3 安全 系列 : 是否可儲存錯誤投向其他項鏈的資金

2025/12/16 12:28
👤PANews
🌐zh-Hant
Web3 安全 系列 : 是否可儲存錯誤投向其他項鏈的資金

在加密世界中, 一擊錯誤可能會觸發 & ldquao; 一項數位大難 &rdquao; 最常見的噩夢之一是把資產送入錯誤的區塊鏈中。 例如,它打算把EPH送到Etherma Sepolia去測試網路的地址,它不小心被送到了以太利葉. 在這種情況下, 從以太主機網路上被誤導的资金能否被收回? 追回资产的关键是接收地址的类型。 将根据不同的情况分析。

1. 情景一:EOA

歐洲 我們常稱之為普通的錢包地址。

追回资产的前提条件:

  • 你把資產轉到EOA地址了。
  • 你有這個目標EOA地址 有私人鑰匙或便條 (通常是你其他的錢包地址 或者你朋友的地址 他愿意合作)。
  • 目標鏈是EVM兼容鏈。

资产追回方法:

收集 EOA 位址私人金鑰持有人可以直接從目標鏈中提取資金。

2. 情景二:收件地址是合同

這是最絕望的一幕 因為智慧合約的地址不是私人金鑰製造的, 如果合同未預備處理 & ldquo; 錯誤導致資產 ” 救援功能。

然而,在某些情况下,有機會。 然後我們要製造一幕 把ETH鎖在以太伍德主機網上 然後我們再談如何把錢弄出來。

2.1. 场景展示

這場景概括了使用者曾試圖呼叫塞波利亞測試網絡合同, 將ETH轉換到合同中以偽造代碼, 具体情景构建流程如下:

1. 在以太的塞波利亞試驗中,投影師(EOA)部署合同實現假設合同的主要功能是讓使用者存有ETH來製造相应的ATokeen, 部署是A 必须指出A 中沒有能直接提取 EH 的函數 。

2. 在以太的Sepolia測試中,投影機(EOA)部署了工厂合同,合同的功能要基于为合同的履行提供的地址和最低代理合同(Clones)在履约代理合同中的部署(如功能解蛋). 假設部署在 B. 假設我們在這裡稱為 部署ProxyBy 實施功能, 讓合同 A 位址被輸入為_ impress 一份代理合同已部署到C的A。

3. 使用者想要在 Sepolia 試驗網頁, 通过移動到 ETH 來投影 Token, 所以使用者啟動呼叫代理合同 C 位址,通常代理合同C會要求合同A的MintTokens功能完成使用者操作。 然而,當使用者來電時,他們被錯誤連接到以太伍德主機網路. 因此使用者直接將ETH轉移到以太主機的C位址。使用者的錢被暂时鎖在主網的C地址上。

2.2. 主要知识要点

在提出具体的救济方案之前,先提出有关救济需要的基本知识要点。

2.2.1 建立 & amp; 建立 2

建立與建立 2 是Solity中常见的两个部署合同 。

  • 在合同部署時,合同地址由交易发起人的地址和帳號(nonce)共同确定,而不管合同的内容如何。
  • 在合同部署之时,合同地址不再取决于交易发起人的不出席,而涉及以下四大参数。
    • 0xff
    • 建立新合同的合同地址(地址)
    • 混亂值為參數( salt)
    • 建立字节以建立合同( init_ code)

2.2.2. 最低代理合同

https://docs. openzeppelin.com/contracts/4.x/api/proxy#cones

最低代理合同也常被稱為克魯內斯合同, 在 Cones 合同中, 代理合同可以通过建立或建立 2 或例如通过 Cline Deterministic 功能部署代理合同 。

在 clineDeterministic 函數中, 已建立代理合同的字節代碼在格式上非常短: 0x363d3d373d3d363d73&t; 实现合同的 > 地址; 5af43d8203e903d91602b57fd5bff3, 直接編碼到字節代碼, 用于实现合同的地址, 並且會被召喚到代理合同代表的所有呼叫來達合同。

從克隆定義函數中可以看出,它通过建立2來建立代理合同建立代理合同的地址與合同建立者的地址, 鹽, 合同实现的地址, 固定的字節代碼, 而不是合同实现的字節代碼 。

2.3. 救援方案

這是如何拯救C地址上的使用者。 主要想法是部署合同代碼,接管主網路C地址并提取ETH. 具体操作步骤如下:

1. 在主網B上部署和測試同一地址的工厂合同。需要同一工厂合同地址,因为代理合同是在随后要求签订确定性部署代理合同时根据工厂合同地址计算的。 透過觀察Sepolia的交易來試驗線上部署廠的合同, 取得交易中部署的人的非ce(專案所有者地址), 移動專案方地址的非ce(EOA)到部署廠合同前的非ce。

2. 在主網上部署同樣的地址A的合同。在#Minim Agent Contract (Clones) # 部分提到, 代理合同是通过克倫斯合同的 Clane Deterministic 功能部署的, 所以我們要做的就是把一份合同放在地址A上 而這份合同的細節 并不影響代理地址的計算。因此我們可以部署一個能直接從地址A中提取ETH的合同,密碼如下。

在試驗網路上, 合同实现 A 是由專案提供商的地址( EOA) 部署的, 因此類似地, 合同实现 A 的位置只與交易的經營人及其非ce 相關 。 因此,觀察線上部署实现A的交易, 找出相關的非ce, 將主要線上專案提供商的地址推向指定的noce。

3. 代理合同 部署在主網站上 地址和C測試網一樣。觀察線上部署代理合同C的交易, 取得鹽資訊。

4. 呼叫主網路代理合同C取款。專案方地址(EOA)呼籲代理合同C撤銷功能并指定受款人。

2.4. 摘要

從上述救助方案可看出,在资金可以救出時,需要满足一些條件,例如合同部署者不使用目標鏈上的相关非單位,资金被困的合同有提款功能,或者可以以各种方式部署(合同可以升級或作為克倫斯等代理)。

所以,當你做交易時,你必須小心, 檢查每項開始的交易, 並且你可以使用ZAN之前,你與合同交互澳門檢查合同安全的漏洞掃描工具 。 你可以聯繫ZAN合同安全審查團隊 幫助你拿到資金。

這是ZANTEAM( X 帳戶)@ zan_ teamamp; Antchain OpenLabs (X 帳號)@ Antchain OpenLab卡拉@Cara6289已寫 。

QQlink

暗号バックドアなし、妥協なし。ブロックチェーン技術に基づいた分散型ソーシャルおよび金融プラットフォームで、プライバシーと自由をユーザーの手に取り戻します。

© 2024 QQlink 研究開発チーム. 無断転載を禁じます。