12/08/2018, 18:25
[Write-up] meepwn contract - MEEPWN CTF Qualification Round 2018
https://scoreboard.meepwn.team/task Source code của "gate": pragma solidity ^ 0.4 .18 ; contract Meepwn_Wire { address public entrant ; constructor ( ) { entrant = msg . sender ; } function isAccountAddress ( address addr ) ...
https://scoreboard.meepwn.team/task
Source code của "gate":
pragma solidity ^0.4.18; contract Meepwn_Wire { address public entrant; constructor() { entrant = msg.sender; } function isAccountAddress(address addr) private returns(bool) { uint x; assembly { x := extcodesize(caller) } return x == 0; } function exploitMe(bytes8 _key) { require(msg.sender != tx.origin); require(isAccountAddress(msg.sender)); require(msg.gas % 1337 == 0); require(uint64(_key) ^ uint64(sha3(msg.sender)) ^ uint64(sha3(address(this))) == 0x13371337); entrant = tx.origin; } }
Interface của contract chính:
pragma solidity ^0.4.18; contract MeePwnMain { function getNewInstance() public payable returns(address) {} function submitInstance(string email) public returns(bytes32) {} }
sau khi truy cập đến http://178.128.87.12/smart-contract những việc bạn cần làm như sau (hiện site đã không truy cập được nữa, mình xin phép tóm tắt lại theo...kí ức của mình