MoveCTF 2024 参与指南
2023-12-2717:01
Sui Network
2023-12-27 17:01
Sui Network
2023-12-27 17:01
收藏文章
订阅专栏

MoveCTF 2024 是由 Move 生态最早期贡献者 MoveBit 联合 ChainFlag 、MoveFuns、OpenBuild 主办,Sui 基金会独家赞助和特别支持,将作为2024 Move 开发者大会的线上安全竞赛,为 Move 生态开发者们提供沉浸式的 Move 叙事体验!


本次安全竞赛将于北京时间 2024 年 1 月 12-14 日开启!活动将在线上举行,竞赛时间持续 48 小时。更多详情请阅读前文了解!


本文将向您详细地介绍 MoveCTF 2024 的参与流程,手把手全方位教学!


Step 1:注册账号并登录

打开 MOVECTF 网站链接 MoveCTF 2024 (https://movectf2024.movebit.xyz),点击右上角的「注册」按钮。

然后根据下图的需求完成注册,请使用您的真实邮箱进行注册,注册账号成功之后会自动登录。


Step 2:创建(加入)团队

由于本次比赛允许组队,所以参赛者可以选择加入别人的团队或者自己创建团队(如下图所示)。

如果不想注册之后第一时间加入团队,也可以之后在网站右上角点击「团队」按钮继续操作。

(1)选择「加入团队」,需要您输入正确的团队名称以及团队密码,并且每个队伍最多两名玩家。

(2)选择「创建团队」,设置团队名称以及团队密码,并且分享给你的队友,这样他们就可以加入你的团队。

加入或者创建团队之后,可以看到团队成员以及得分。

下图的四个按钮分别可以「编辑团队信息」、「选择队长」、「获得团队分享链接」以及「删除队伍」。


Step 3:点击挑战按钮进入题目页面


Step 4:开始解题

参赛者可以使用许多开发工具完成挑战,例如 SUI 控制台 /Explorer、git 和 editor 等。


我们可以通过点击「checkin」这道题目来开始挑战。


Step 5:获取测试币

阅读挑战介绍,切换网络环境,参赛者调取 curl 命令,为自己的账户获取测试币,然后点击下方链接打开一个新的会话窗口以获取题目更详细信息。


这里简单演示如何通过命令行获取测试币,有关以下操作的详细解释可以去:References Overview | Sui Documentation(https://docs.sui.io/references)链接下的 sui API 和 sui CLI 板块查看。


(1)切换当前环境到开发环境

sui client switch --env devnet

(2)查看当前账户

sui client active-address

(3)我们通过 curl 命令向 devnet 水龙头发送 rpc 请求来获取测试代币,在<--YOUR_ACCOUNT_ADDRESS-->填入你的账户地址,然后命令行中调用此命令获取测试代币,这个命令 sui 官方文档中也有提及:Get SUI Tokens | Sui Documentation(https://docs.sui.io/guides/developer/getting-started/get-coins#request-test-tokens-through-curl

curl --location --request POST "https://faucet.devnet.sui.io/gas" --header "Content-Type:application/json" --data-raw "{\"FixedAmountRequest\":{\"recipient\":\"<--YOUR_ACCOUNT_ADDRESS-->\"}}"

调用成功会返回一串交易信息(如下图所示)

然后点击链接进行下一步


Step 6:部署挑战合约

在新的会话窗口,根据题目步骤,首先点击下方的「Deploy」按钮来创建一个新的账户并且自动为部署一个挑战合约,点击「Deploy」之后,下方就会出现部署合约交易的哈希以及 packageId(如下图所示)。


Step 7:参赛者开始解题

如果参赛者想查看交易信息,可以通过 curl 命令直接调用 sui API 的 sui_getTransactionBlock 方法,传入参数为交易的哈希(如下图 )。

关于 sui API 更具体的介绍可以进入下面的链接查看:

Sui API Reference| Sui Documentation(https://docs.sui.io/sui-api-ref#suix_getallcoins


或者参赛者可以直接在 sui explore 选择 devnet 网络通过交易哈希查看详细信息

在 Description 中,我们都给出了题目合约的 github 链接,参赛者可以打开链接查看合约信息。

在 checkin 这道题目中,直接调用 get_flag() 函数即可,可以使用 sui cli 来和部署的合约进行交互,更多命令可以在 sui 官方文档里查看,或者使用 sui client --help 在控制台查看。


在控制台运行以下命令:

sui client call --function get_flag --package <上一步生成的 packageId> --module checkin --gas-budget 10000000


成功调用合约的 get_flag() 函数触发 Flag 事件,然后提交本次操作的交易哈希以获得 flag。


Step 8:获取 flag


Step 9:提交 flag

最后一步,提交 flag,只有成功的提交才会获得分数。


Step 10:继续解决下一道题目

后续的题目可以继续参照上面的步骤进行解题。


欢迎加入本次安全竞赛官方社群(QQ & TG),如您遇到任何问题,及时联系我们。


Sui 是基于第一原理重新设计和构建而成的 L1 公有链,旨在为创作者和开发者提供能够承载 Web3 中下一个十亿用户的开发平台。Sui 上的应用基于 Move 智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。


获取更多信息:

https://linktr.ee/sui_apac 


关于 Sui Network


获取更多信息

官方网站: https://sui.io

Discord: https://discord.com/invite/sui

中文 Twitter: https://twitter.com/SuiNetworkCN

中文 Medium: https://medium.com/sui-network-cn

中文电报群: https://t.me/Sui_Blockchain_Chinese

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

专栏文章
查看更多
数据请求中

推荐专栏

数据请求中

一起「遇见」未来

DOWNLOAD FORESIGHT NEWS APP

Download QR Code