Skip to content

Latest commit

 

History

History
100 lines (82 loc) · 8.6 KB

File metadata and controls

100 lines (82 loc) · 8.6 KB

W4terCTF 2023

本仓库用于存储和构建 W4terCTF 2023 的题目镜像。

所有题目均为原创,可以从 Packages 中获取可以被 GZCTF 直接使用的题目镜像。

Powered by GZCTF and GZTime

NOTE: 部分题目因保密原因不公开,请各位谅解。

出题规范

  • 题目应遵循 GZCTF 的题目规范,题目的 Dockerfile 应放置在 challenges 目录下。
  • 对于每道题目,应创建一个单独的 branch,命名为 <分类>/<题目名>,并在该 branch 中进行相关操作,最后 squash merge 到 main 分支。
  • 对于能够共用的题目基础镜像,应放置在 base 目录下。如 xinetdpythonphp 等。
  • 如有必要,可以开启一个 issue 来追踪题目的出题进度。

题目列表

Re 题目名 分类 难度 标签 出题人
0 NC Test Pwn Baby GZTime
0 Tic-Tac-Toe Level 0 Pwn Easy Stack overflow ConanC
0 Nimgame Level 1 Pwn Easy Stack overflow Xia0o0o0o
0 Nimgame Level 2 Pwn Normal Stack overflow Xia0o0o0o
0 2048 Pwn Normal fmtstr Xia0o0o0o
1 Dictionary Pwn Medium integer overflow, UaF Xia0o0o0o
2 ELF Parser Pwn Medium ELF, strcpy Xia0o0o0o
1 Cherry Lab Pwn Hard JS Engine Xia0o0o0o
0 Weird Letter Misc Trivial Vigenère GZTime
1 Shadow Misc Easy Op Char GZTime
1 Chisato Misc Normal PRNG TonyCrane(AAA)
0 Spam 2023 Misc Normal Codec GZTime
1 Good QRCode Misc Normal QRCode, Mask GZTime
0 W4ter Disk Misc Medium RAID, btrfs GZTime
2 Bad QRCode Misc Hard QRCode, RS GZTime
1 Dark Maze Misc Expert Maze, Revomaze GZTime
0 Evil Traffic Forensics Normal SQL Injection GZTime
1 USB Hacker Forensics Medium USB Traffic GZTime
0 GZ RSA Crypto Trivial RSA peigong
0 Middleman Crypto Trivial DH Middleman peigong
0 Factor Crypto Easy RSA peigong
0 Chat with Philosophers 1 Crypto Easy ECC peigong
1 Chat with Philosophers 2 Crypto Easy RSA peigong
2 Chat with Philosophers 3 Crypto Normal Shamir secret share peigong
1 NGG Smooth Prime Crypto Medium Discrete logarithm ZMJ
1 Special RSA Crypto Medium RSA peigong
0 Login Crypto Medium AES padding oracle peigong
0 The Moment of Token Web Easy JWT, Cookie GZTime
0 One Number SQL Web Normal SQL tel
2 Feedback Box Web Normal XSS gbljdgb(Xp0int)
0 Deser Plus Web Medium PHP, deserialize tel
1 Nodejs Bypass Web Medium JS, prototype tel
0 Help Newnew Find Flag Web Medium flask, pin Rieß(Xp0int)
1 Secure Password Generator Web Hard SQL tel
1 Unfinished Website Web Hard Java SSTI tel
0 Lazy Puts Reverse Trivial GZTime
0 Oh My Python Reverse Trivial Python GZTime
1 Maze Digger Reverse Hard WebAssembly, Rust GZTime
0 Quiz For PyGZ PPC Easy Python GZTime
0 GGOS PPC Medium GGOS, Rust GZTime

难度与分值

题目难度 Baby Trivial Easy Normal Medium Hard Expert Insane
题目分值 200 500 1000 1000 1000 1000 1000 1000
题目最低分值比例 50% 20% 20% 20% 20% 20% 30% 30%
题目最低分值 100 100 200 200 200 200 300 300
难度系数 5.0 5.0 7.0 10.0 13.0 20.0 20.0 25.0
50% 分值次数 - 6 7 10 14 20 25 30

项目结构

.github/workflows/                      # github actions
    └── chal.<category>.<name>.yml      # 每个题目的编译脚本
base/                                   # 基础镜像
challenges/                             # 题目目录
    ├── challenge1/
    │   ├── build/                      # 题目构建目录
    │   │   ├── Dockerfile
    │   │   └── more...
    │   ├── attachments/                # 题目附件目录
    │   └── README.md
    ├── challenge2/
    └── more...

文件目录

编写 Dockerfile 并放置在 challenges 目录下,然后在 .github/workflows 中添加对应的构建任务。命名应该遵循 chal.<题目名>.yml 的格式,题目需要遵循 GZCTF 的题目规范。

  • base 目录

base 目录下存放了部分题目所需的基础镜像,包括 xinetd、基于 xinetd 暴露的 python 镜像。

  • challenges 目录

challenges 目录下存放了题目的 Dockerfile,以及题目的相关文件。