网址:Ethernaut
说明:实战平台,该平台本身就是一个DAPP
开源:GitHub - OpenZeppelin/ethernaut: Web3/Solidity based wargame
Ethernaut 00
环境需求:Chrome + MetaMask
解题流程:
步骤1:打开开发者工具(F12)
得到两点提示:1) 可以选择开启privacy mode 2) 切换MetaMask网络到Rinkeby测试网络(保证自己的账户在Rinkeby测试网络上有一些测试币)
明确console不同命令的返回信息
命令:player
返回:当前账户的地址
命令:await getBalance(player)
返回:当前账户的余额(单位:ETH)
命令:help()
返回:获取帮助信息
命令:ethernaut
返回:当前game对应合约(Ethernaut合约)的相关信息
命令:await ethernaut.owner()
返回:Ethernaut.sol的所有者的地址
命令:await contract
返回:当前关卡对应合约的相关信息(当前关卡对应合约必须先由Ethernaut合约部署)——需要关注的信息:abi + address
玩法说明:我们需要要求Ethernaut合约部署每一关的合约实例(Get new instance),进而与新的合约实例进行交互,最终通过submit instance验证是否通关(Well done, You have completed this level!!!)
解题操作:
本题小结:本题主要介绍了Ethernaut的基本操作方法,与实际智能合约漏洞检测/攻击关系不大