Rctf Web Blockchain wp

R

web 占坑,等 wp 复现下,这次比赛之后我发现我根本不会 web,哭哭。 roiscoin 这题挺巧妙的,大概思路是要先解锁 codex 那个可变数组,用可变数组任意变量覆盖,从而把 owner 变成自己的地址。这个题不仅用发外部地址的方法解决了抄作业的问题,在合约代码的编写上还参考了一些经典蜜罐 23333,可以感受到出题人用心了。 首先 nc 连接上题目,要算爆破一个哈希,但是比较坑的是格式问题,试了一会儿才试出来,脚本: # py2 from hashlib import sha256 for i in range(10000000): s = str(i) + "13c0fcadf33dc5169f35d53f558d978e".decode("hex") h = sha256(s).hexdigest() if h[-5:] ==...

WHUCTF BlockChain wp

W

武大的比赛,第三题很有意思~ 智能合约? 那是啥 20 pt17 Solves附件题目描述:FLAG, 点击就送 下下来附件直接看源码,发现 flag 在链上存储,直接去这里查看即可 现在来做运算吧 198 pt3 Solves附件题目描述:无 压缩包里给了源码,先看怎么拿 flag: function GetTheFlag(string b64email) public{ require(tx.origin != msg.sender); require(unlock[msg.sender] == true); emit FLAG(b64email, " You got the flag!!"); } 两个 require,第一个用合约调用绕过,第二个可能需要我们先解锁,搜索一下 unlock,发现在 deposit 里可以改变状态: function...

SHARKY CTF BlockChain wp

S

This morning called by my teammate QiQi to attant this Sharky CTF, very pleasure to ak the BlockChain. Warmup code: pragma solidity = 0.4.25; contract Warmup { bool public locked; constructor() public payable { locked = true; } function unlock() public payable { require(msg.value == 0.005 ether); locked = false; } function withdraw() public payable { require(!locked); msg.sender.call...

MRCTF 2020 BlockChain Wp

M

SIMPLEREVEAL 区块链签到题,直接找到合约查看一下变量就行: Unwanted Coin 合约代码给出来了: pragma solidity >=0.6.1; contract Modcoin { mapping(uint256 => bool) public is_successful; function recvpay() public payable { require(((msg.value / 0.001 ether ) % 2 == 0 && ((msg.value % 0.001 ether) == 0)), "Not Accepting These Coins."); } function getflag(uint256 target) public { require((address(this)...

智能合约 CTF 入门:ETHERNAUT WRITE UP (完)

还有最后几道题,赶紧刷完,加油冲鸭! Naught Coin 题目要求我们把自己的余额变为0,但是限制了我们使用转账函数,源码: pragma solidity ^0.4.18; import 'zeppelin-solidity/contracts/token/ERC20/StandardToken.sol'; contract NaughtCoin is StandardToken { using SafeMath for uint256; string public constant name = 'NaughtCoin'; string public constant symbol = '0x0'; uint public constant decimals = 18; uint public timeLock = now + 10 years; uint public...

智能合约 CTF 入门:Ethernaut Write Up (2)

立一个 flag,明天之前刷完,刷不完让 Y1ng 师傅女装 23333 Delegation pragma solidity ^0.4.18; contract Delegate { address public owner; function Delegate(address _owner) public { owner = _owner; } function pwn() public { owner = msg.sender; } } contract Delegation { address public owner; Delegate delegate; function Delegation(address _delegateAddress) public { delegate = Delegate(_delegateAddress); owner = msg...

2020_2nd_BJDCTF BlockChain Wp

2

坚固性?! tags: 智能合约的部署等基本操作Solidity uint 上溢出 下载附件,给了题目源码以及地址,审计源码: 首先有个 getFlag() 函数: function getFlag() public view returns (string){ require(balances[msg.sender] > 9999999); return flag; } 很明显需要通过攻击合约让自己的 balance 变大,继续审计其他函数,发现只有 Transfer() 有对 balance 的操作: function Transfer(address[] _addr, uint256 _value) public returns (bool){ uint times = _addr.length; uint256 amount = uint256(times) *...

智能合约 CTF 入门:Ethernaut Write Up

xctf 的区块链题目打的自闭,fjh 师傅推荐了个能刷区块链题目的平台,正好来练练手。 准备工作 首先当然是要科学上网啦,提供服务的一些网站基本没有在国内的,所以先网上冲浪吧。 其次安装 chrome 扩展小狐狸 MetaMask,这个相当于我们的区块链钱包,一般的区块链题目都是部署在 Ropsten 测试网络上,在测试网络我们可以无限白嫖 ETH(最多好像是持有 5 个 ETH),所以安装完成后先要去嫖几个币,记录一下能用的水龙头地址: 网上找了几个目前只有这个可以用 最后就是熟悉下 solidity 的语法,跟 go 差不多,几分钟就可以上手。 Hello Ethernaut 这个题目主要面向初学者,只要完成了上述准备工作能与网站交互即可,用浏览器 F12 开着 console 一顿瞎捣鼓即可过关。payload : contract...

Fabric 多 Channel 的创建

F

多链技术与channel 多链架构是现在区块链中较火的一个概念,实际上就是一整个区块链网络中有多条区块链并行计算,并可能运行着不同的智能合约。这样的架构不仅能够极大地扩展区块链的功能;并且大大降低了单条链上的计算和存储压力,在效率上的提升也是显而易见的;此外,多链架构上默认不同链之间的数据不可在普通节点流通,不仅可以极大地提升用户的隐私性,还防止了单链的崩溃造成整个网络的崩溃。 channel 是 fabric 网络中的一个功能,基本原理跟多链架构相同,一个 channel 即可以看做一条链。因此本文用 channel 来模拟多链架构,并记录设置多 channel 时遇到的一些坑。 版本不兼容 网上的一些博客和教程,虽然看起来说的特对,但是实际一操作根本不是那么回事儿。我用的环境是fabric v1.4, 网上的绝大部分是1.0和1...

Imagin 丨 京ICP备18018700号-1


Your sidebar area is currently empty. Hurry up and add some widgets.