合约攻防比赛--- PARADIGM CTF 2022 环境准备篇

PARADIGM CTF 2022

合约安全对于一个合约工程师来说是最重要的一门课,也是鉴别高级,还是初级的一道关键门槛。我个人是很喜欢在比赛中锻炼自己的能力(例如打算法比赛),PARADIGM CTF是全球难度最高的合约安全比赛,吸引了全球很多顶尖的区块链安全人员参加。虽然已经结束了,但是研究他的题目对于提升个人能力来说非常有意义。这篇是环境准备篇的科普文,分为比赛中,和比赛后。

CTF的官网是:

进入官网了之后,注册成功了之后,点击任何一道题目,点击Resource的第二条连接(这里坑得我有点惨)

点击下载了之后,就可以看到源文件了。

比赛中

如果是比赛中的话,可以用官方提供的docker环境来编写合约,和测试即可。这里介绍一下:

docker build -t .
docker run -t xxxxx (image name)

通过build和run就可以启动一个本地的节点(fork 主网),通过访问本地的rpc就可以进行合约交互了。

每一道题都有一个Access,例如otter-word这道题,获得X-Auth-key的命令就是(X-Auth-key用来提交比赛结果的)

nc 34.72.24.70 8080

当需要提交flag的时候,选3,如果是launch new instance选1。

比赛后

emmm,比赛后就相对来说比较麻烦了。为了方便学习和研究,我开源了测试/考试的源码环境,通过fork主网了之后,就可以运行脚本和测试结果了。

题目都在contracts目录下,目前还没完全完善,我会继续补充的,题目的部署在script/deploy里,解决方案在script/solve。

有了本地环境就可以做题来提升自己合约攻防的能力啦!!

接下来会根据每一道题,出一篇writeUp,记录自己学习的心得。

Subscribe to shaneson.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.