Skip to content

GamerNoTitle/DSFileChecker

Repository files navigation

DSFileChecker

数据安全结果检查镜像,用于作为 CTF 中 DS 分类题目的结果验证及 flag 分发使用

为啥做这个?

我个人从 2024 年羊城杯开始,才知道有 Data Security 数据安全这个分类的题目,其中有对数据进行处理后上传至平台验证的操作,那个题目用的是 DAS File Checker。

但是,在 2025 年上半年,我们学校组织的 CTF 里面的 DS 题目,则是让选手通过获取到结果后将结果计算 MD5 作为 flag,这样无法知道自己处理的情况,也不知道自己可能错在哪里(指自我推断)

所以,我就想做一个这样的平台,用于进行 DS 题目的数据验证。

变量说明

  • FLAG -> 本题的 flag 值
  • ACCURACY -> 准确率阈值,当大于此值时,给出 flag,范围 0 ~ 1
  • result/result.csv 答案参考文件

开始使用

Docker 运行

允许使用 FLAG, DASCTF, GZCTF_FLAG, ATTACKR_FLAG 进行 flag 注入,其中 ATTACKR_FLAG 是构建时注入,其他都是运行时注入

$ docker build -t ds_file_checker .
$ docker run \
    -p 8000:8000 \
    --env FLAG=flag{YOUR_FLAG_HERE} \
    --env ACCURACY=1 \
    -v /path/to/your/result/folder:/app/result \
    --name DSFileChecker ds_file_checker

如果在 build 之前,把答案放在了 result 文件夹内并命名为 result.csv,则不需要 -v /path/to/your/result/folder:/app/result

源码运行

$ uv sync
$ uv pip install -e .
$ uv run -m ds_file_checker

路由

  • /upload 上传文件并提交验证码
  • /captcha 获取新的验证码

截图

About

一个用于夺旗赛的数据安全类题目的数据检查及 flag 分发应用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published