-
Notifications
You must be signed in to change notification settings - Fork 3
一些常见问题
SpaceSkyNet edited this page Mar 26, 2022
·
2 revisions
总所周知的原因,ctfd的challenge.js
中的对submit flag处理时,按钮的id不对,然后就会交不上去flag(都3.4.0了怎么还没改……)
在 Linux 系统下(或者在WSL中), 切换到修改过的ctfd的根目录下,执行
npm run build
你就可以在 CTFd/themes
目录下对应 admin
和 core
下的 static
目录下找到build好的文件。
(本仓库里已经有build好的需要修改的静态文件,在安装过程中已经替换)
制作新的题目时,题目的docker-compose
编写参见BIT-NSC/ctfd-owl.docker-compose,CTFd题目配置如下:
Options | Content |
---|---|
Challenge Type | 题目类型(选dynamic_check_docker ) |
Deployment Type | 部署方式(选SINGLE-DOCKER-COMPOSE ,另一个无效) |
Dirname | 题目所在文件夹(相对于source 的相对路径,题目docker-compose 文件夹放到source 下) |
FRP Type | frp类型(DIRECT 为ip直接访问(域名加端口),HTTP 为子域名访问) |
FRP Port | 题目内网 docker-compose 中expose 端口 (例子中为80 ) |
Flag Type | 如果动态生成flag选择Dynamic ;如果像正常题目一样的静态flag,选择Static 并在题目flag里添加flag |
建议将题目所用镜像提前 build 好并 pull 到 CTFd 的服务器上,否则第一次 launch 时可能会长时间无反应。
CTFd 更新了 cmarkgfm
版本,详见Mark 3.4.3#2063.
解决方法:
在 clone CTFd 前删除-b 3.4.0
,并在Dockerfile
下方如示位置中加入下面的代码后再继续docker-compose
的操作。
...
RUN python -m ensurepip --upgrade
RUN python -m pip install --upgrade cmarkgfm==0.8.0
RUN chmod a+x $WORKDIR/docker-entrypoint.sh
...