Ethernaut靶场题解
EthernautFallback要求是,成为这个合约的所有者,并使这个合约的钱为零
分析;从这个合约中可以看到,要成为owner1,我们的钱必须大于合约持有者的钱,但是最开始合约本身就有1000ether,这个时候就走contribute函数不行,因为我们没有那么多钱2,此时发现receive,只要我们的钱和合约的钱大于0,就可以成为这个合约的持有者
方法:1,在remix上不能部署这个合约,因为部署后,合约初始化,owner就是我们自己了
constructor() { owner = msg.sender; contributions[msg.sender] = 1000 * (1 ether); }
直接使用合约地址At Adress2,调用contribute函数,转账1wei;2,调用receive函数,转账1wei,就完成了,注意记得将钱收回来
Fal1out要求是,成为这个合约的所有者
分析:注意这个的solidity的版本是0.6,没有影响关系,只是构造函数的写法不一样,如:
//solidity 0.8 construc ...
靶场题解
Fallback要求是,成为这个合约的所有者,并使这个合约的钱为零
首先找到owner,
分析;从这个合约中可以看到,要成为owner1,我们的钱必须大于合约持有者的钱,但是最开始合约本身就有1000ether,这个时候就走contribute函数不行,因为我们没有那么多钱2,此时发现receive,只要我们的钱和合约的钱大于0,就可以成为这个合约的持有者
方法:1,在remix上部署这个合约,首先调用contribute函数,给我们转账;2,在调用receive函数,就完成了
Fal1out要求是,成为这个合约的所有者
从这个题目来看,Fallout,Fal1out,
分析:首先看与owner相关的函数,再去分析构造的合约名字Fallout,仔细发现有个Fal1out的函数,它实际上是命名错误的,这个时候我们就可以调动这个函数,刚好成为合约的所有者
方法:
定义函数接口,直接调用该函数Fal1out,此时就成为了合约的所有者
my fist blog
先进入blog cd blog预览hexo hexo s创建文章题目 hexo new “”进入文章目录 cd 提目前,blog后的东西)题目.md写文章 notepad 题目.md
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment