General Skills

CTF 初学者基础题

掌握进入专业安全领域前所需的命令行、编码、搜索与工具使用技能。

你将学到什么

  • 使用常见 CTF 工具
  • 养成系统观察的习惯
  • 为后续专业领域打好基础

基础技能挑战

共 42 题。

General Skills难度 1

01:第一步——二进制与十六进制

安全领域常使用二进制和十六进制。请把给出的十六进制序列转换成 ASCII 字符,找到旗标。 将下列十六进制转换为 ASCII: `46 4c 41 47 7b 68 65 78 5f 74 6f 5f 61 73 63 69 69 7d`

General Skills难度 1

10:安全基础——伦理与规则

成为白帽黑客不仅需要技术,也需要伦理与法律意识。阅读情境后,选择发现朋友网站漏洞时应采取的正确行动。 正确选项为 `A`、`B`、`C` 或 `D` 之一。 这种先向所有者报告所发现漏洞的行为称为“负责任的披露(responsible…

General Skills难度 2

Bash 脚本:自动化的力量

`/app/numbers.txt` 每行有一个 1 到 1000 的数字。求同时是 3 和 5 的倍数、但不能被 7 整除的数字之和;总和是旗标。

General Skills难度 2

Git 侦探:丢失的提交

`/app/repo` 是 Git 仓库。开发者误删了含重要信息的提交;请用 `git reflog` 找回并读取其提交消息中的旗标。

General Skills难度 2

JSON 大师:数据提取

`/app/users.json` 有 100 位用户。筛选 `age` 在 25–30、`country` 为 `Japan`、`is_active` 为 `true` 的用户;按字母排序后第一个邮箱构成 `KINOCO{...}`。

General Skills难度 2

OSINT 基础:元数据分析

`/app/documents/` 中有 PDF 和 Office 文档。请找出创建日期最早的文件、其 `Author` 和嵌入的旗标。

General Skills难度 2

文本处理大师:sed 与 awk

`/app/data.csv` 的第 2 列价格需至少为 1000;把第 3 列中的 `_` 改为空格,并为第 1 列添加 `PROD-`。处理后第一行的商品名是旗标。

General Skills难度 2

进程猎人:隐藏进程

名为 `secret_service` 的后台进程把旗标放在命令行参数中。请找出它的 PID、运行用户和完整参数。

General Skills难度 2

日志分析:找出入侵者

`/app/auth.log` 记录认证事件。找出一小时内失败登录至少 10 次的 IP,并取得该 IP 的第一次失败时间戳;时间戳是旗标线索。

General Skills难度 2

压缩迷宫:多层归档文件

`/app/flag.tar.gz` 是多层压缩文件:`flag.tar.gz → flag.tar → flag.zip.bz2.gz → flag.zip.bz2 → flag.zip → flag.txt`。请逐层解压并读取最终文件。

General Skills难度 2

正则表达式大师:日志文件分析

`/app/access.log` 有数千条访问记录。提取 IP 以 `192.168.1.` 开头且状态码为 `404` 的记录,匹配行数即为旗标。

General Skills难度 2

环境变量大师:PATH 劫持

隐藏命令 `getflag` 位于 `/app/secret_bin`,但目录未在 `PATH` 中。请用绝对路径和修改 `PATH` 两种方式运行它。

General Skills难度 3

Docker 取证:检查容器证据

请检查提供的 Docker 镜像、容器层、环境变量和日志,复原被遗留的敏感信息和旗标。

General Skills难度 3

从 Git 历史中找出被删除的 API 密钥

`/app/repo` 是一个 Git 仓库。开发者曾误将 API_KEY 提交,并在后续提交中将其删除。请查看正常的 Git 历史,找到删除前的 `config.py`,恢复其 API 密钥中包含的旗标。

General Skills难度 3

Python API:接口自动化

容器内在 `http://127.0.0.1:8000/api/records?page=N` 运行一个分页本地 API。请遍历所有页面直到 `next` 为 `null`,只收集 `tag == "flag"` 的记录;每条形如…

General Skills难度 3

SQL 查询大师:复杂连接

SQLite 数据库 `/app/company.db` 有 `employees`、`departments` 和 `projects` 三张表。找出拥有预算至少为 `100000` 项目的部门中工资最高的员工;其 `email`…

General Skills难度 3

strace 调试:跟踪程序行为

`/app/mystery_program` 没有源代码。请用 `strace` 分析系统调用,找出它尝试读取的文件名和应写入的内容;写对后程序会输出旗标。

General Skills难度 3

journalctl:分析 systemd 日志

请用 `journalctl` 调查 systemd 日志,在服务、时间范围和优先级中定位旗标线索。

General Skills难度 3

Netcat:离线回调记录分析

无需连接任何外部主机,请分析预先记录的 callback transcript。不会启动 listener 或 shell;从 `callback-analysis` 记录中的编码 payload 恢复旗标。

General Skills难度 3

性能分析:定位资源瓶颈

系统性能出现异常。请检查 CPU、内存、磁盘和进程数据,找出造成问题的工作负载及其旗标线索。

General Skills难度 3

高级正则表达式:复杂模式匹配

请在提供的文本数据中使用分组、边界和量词识别符合精确规则的记录;最终匹配项包含旗标。

General Skills难度 3

高级 Bash:复杂脚本处理

请分析给出的 Bash 任务,结合条件、数组、文本流和错误处理完成自动化处理。

General Skills难度 4

AWS CLI:云资源枚举

AWS 环境存在配置错误,敏感数据可能泄露。请使用 AWS CLI 列出所有 S3 bucket、检查各 bucket 权限、找出可公开访问的 bucket,并列出和下载其中的文件;文件含有旗标。可使用 `aws s3 ls` 与…

General Skills难度 4

Ansible:Vault 导出审计

无需运行 Ansible 或接触服务器,请分析生成的 vault export,恢复 `web-03` 的 `deploy-index` 记录中的编码负载。