OnlyPwner BRIDGE TAKEOVER writeup

OnlyPwner BRIDGE TAKEOVER writeup

OnlyPwner BRIDGE TAKEOVER writeup-魔法少女雪殇
OnlyPwner BRIDGE TAKEOVER writeup
此内容为付费阅读,请付费后查看
10
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费阅读

评价为,一个真正的pwn题。

从头开始,先看部署合约

contract Deploy is Script {
    function run() external {
        vm.startBroadcast();

        address user = vm.envAddress("USER");
        Bridge bridge = new Bridge();

        payable(user).transfer(1 ether);
        bridge.registerValidator{value: 100 ether}(address(0), "Some Tag");

        console.log("address:Bridge", address(bridge));
    }
}

没什么好说的,单纯部署合约然后给user1 ether,调用registerValidator并转入100 ether。

那么看看solved条件。

contract IsSolved is Script {
    function run() external view {
        Bridge bridge = Bridge(vm.envAddress("Bridge"));

        if (bridge.stateRoot() == bytes32(uint256(0xdeadbeef))) {
            console.log("is-solved:true");
        } else {
            console.log("is-solved:false");
        }
    }
}

让bridge.stateRoot() == bytes32(uint256(0xdeadbeef)即可。

那么接下来就开始分析合约把。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容