首先这里要说的是静态flag和动态flag。
在CTF(Capture The Flag)比赛中,静态flag的使用通常与特定的赛制或题目类型关联,而不是直接与题型绑定。静态flag意味着这些flag是预先设定好的,不会随比赛进程或队伍行为动态改变,与之相对的是动态flag,动态flag可能会根据攻击或防守的情况发生变化。
提到静态flag的情景,一个典型的应用是在**攻防模式(AWD, Attack With Defense)**中作为验证指标的一部分,尤其是涉及到静态容器的场景。静态容器内的内容对所有队伍而言是相同的,并且其中包含的静态flag用于验证队伍是否成功找到了预设的漏洞或完成了特定的安全挑战,而不是通过攻击其他队伍来获取flag。这类题目可能涉及多种技术领域,但重点在于静态flag的使用方式,而非限定于特定题型。
然而,如果要将静态flag的概念映射到更传统的CTF题型上,它可以出现在任何需要验证固定解决方案的题目中,比如在某些**Misc(杂项)或特定情境下的Web、**Crypto(密码学)题目中,只要这些题目设计为让所有参与者寻找预先设定的、不变的flag即可。例如,一个加密谜题可能只有一个固定的密文和相应的静态flag作为解密后的验证信息。
下面简单以杂项和密码学为例。
前提条件:
已创建比赛
已有题目
进入到比赛中,选择新建题目。
我准备的题目是MISC类型的,如下,更多题目可以自己出或者去github上下载哈。
按照对应要求设置,例如此题为:
这时我们可以看见已经添加成功。
点击【编辑题目】。
点击【编辑附件和flag】
选择【本地附件】,点击【上传附件】。
上传后如下图所示,点击【添加flag】,把对应的flag添加进去。
添加完成后回到题目管理界面,点击按钮【启用题目】。
更换账号进入比赛查看,可以看到题目已经更新上去了。
点击直接下载附件。
提交flag。
密码学、REVERSE题同理,在此不再赘述。