靶场题解
Fallback
要求是,成为这个合约的所有者,并使这个合约的钱为零
首先找到owner,
分析;
从这个合约中可以看到,要成为owner
1,我们的钱必须大于合约持有者的钱,但是最开始合约本身就有1000ether,
这个时候就走contribute函数不行,因为我们没有那么多钱
2,此时发现receive,只要我们的钱和合约的钱大于0,就可以成为这个合约的持有者
方法:
1,在remix上部署这个合约,首先调用contribute函数,给我们转账;
2,在调用receive函数,就完成了
Fal1out
要求是,成为这个合约的所有者
从这个题目来看,Fallout,Fal1out,
分析:
首先看与owner相关的函数,再去分析构造的合约名字Fallout,仔细发现有个Fal1out的函数,它实际上是命名错误的,这个时候我们就可以调动这个函数,刚好成为合约的所有者
方法:
定义函数接口,直接调用该函数Fal1out,此时就成为了合约的所有者
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.