13m0n4de / neko-quiz

NekoQuiz 是一个 CTF 问答题通用框架,对 USTC Hackergame 猫咪问答/猫咪小测 的仿制。
https://neko-quiz.shuttleapp.rs/
MIT License
2 stars 0 forks source link

有关 Flag 的更多支持 #2

Closed 13m0n4de closed 8 months ago

13m0n4de commented 8 months ago

目前来说,Flag 只是从环境变量中取得 GZCTF_FLAG 的值,因为项目起初用在 GZCTF 平台的比赛中。

https://github.com/13m0n4de/neko-quiz/blob/c489d61b9e43b17a69e8628b5919b960f4da08d6/backend/src/main.rs#L99-L103

需要与 Flag 相关的更多功能支持,比如:

另一个不太紧要的功能是:多个 Flag ,依据题目分数或其他条件返回不同的 Flag 。

13m0n4de commented 8 months ago

多个 Flag 或者说每题一个 Flag 应该不会支持了,因为这样子完全可以在比赛平台创建多个题目,文本描述和提示放在简介,不需要开启容器,对 Flag 种类的支持也更多。

总之就是多此一举。

13m0n4de commented 8 months ago

Flag 获取途径的配置的话,目前还在纠结,考虑过多个字段、拥有优先级的设计:

{
    "flag": {
        "env": "NEKO_FLAG",
        "file": "/flag",
        "static": "flag{neko_quiz}"
    }
}

如果环境变量中找不到 $NEKO_FLAG ,那就会找 /flag 文件,如果还没有就使用 flag{neko_quiz} 作为 Flag ,不需要考虑其他情况,因为 static 字段留空那 Flag 就是空字符串。