Rockerran21/Practicle-CTF-Strategies

GitHub: Rockerran21/Practicle-CTF-Strategies

面向网络安全课堂的多领域CTF实操练习题集,帮助学生建立系统化的安全调查与分析习惯。

Stars: 0 | Forks: 0

# CTF 策略实践 这是一个用于多个夺旗赛领域网络安全实操练习挑战的课堂仓库。其目标是帮助学生建立实际的调查习惯:仔细检查工件,记录他们的推理过程,恢复 flag,并解释他们是如何解决每个挑战的。 本仓库旨在用于学习,而非施加比赛压力。这些挑战可用于课堂、实验课、家庭作业、研讨会或自主练习。 ## 领域 挑战将按主题进行组织。目前的计划包括: - Forensics(数字取证) - Web Exploitation(Web 漏洞利用) - Network Analysis(网络分析) - Reverse Engineering(逆向工程) - Cryptography(密码学) - OSINT(开源情报) - Miscellaneous(杂项) 随着课程的推进,可能会添加额外的领域。 ## 仓库结构 ``` Practice-CTF-Strategies/ ├── README.md ├── forensics/ │ └── silent-gallery/ │ ├── README.md │ ├── gallery.png │ ├── incident_report.txt │ └── unlock.js ├── web/ ├── network-analysis/ ├── reverse-engineering/ ├── cryptography/ ├── osint/ ├── misc/ └── templates/ └── challenge-template.md ``` 每个挑战应存放在具有显著名称的独立文件夹中。面向学生的挑战文件应包含在该文件夹中。官方解决方案不应放置在公开的挑战文件夹中。 ## Flag 格式 除非挑战另有说明,否则 flag 使用以下格式: ``` flag{example_flag_here} ``` 请提交完整的 flag,包括 `flag{}`。 ## 如何进行挑战 1. 打开挑战文件夹。 2. 阅读挑战的 `README.md`。 3. 下载或检查提供的文件。 4. 对命令、观察结果和失败的尝试做好记录。 5. 恢复 flag。 6. 准备好解释你的解题思路。 最终答案很重要,但推理过程同样重要。没有解释的正确 flag 可能无法获得满分。 ## 学生守则 - 请勿修改或删除共享仓库中的挑战文件。 - 请勿公开 flag 或完整的解决方案。 - 请勿与同学分享直接答案。 - 你可以讨论一般方法、工具和概念。 - 你可以使用文档、手册和合法的安全工具。 - 如有疑问,请在使用自动化漏洞利用工具前请求澄清。 ## 推荐工具 不同的挑战需要不同的工具。以下是一些有用的起点: - `file`:用于识别文件类型 - `strings`:用于提取可打印文本 - `exiftool`:用于元数据检查 - `binwalk`:用于发现内嵌文件 - `xxd` 或 `hexdump`:用于字节级检查 - `CyberChef`:用于编码和解码实验 - `Wireshark`:用于数据包分析 - `Audacity` 或 `Sonic Visualiser`:用于音频和频谱图分析 - `Ghidra`:用于逆向工程 - 浏览器开发者工具:用于 Web 挑战 - Python:用于编写小型解码器或解析器脚本 工具的选择是学习过程的一部分。不要假设一个工具能解决所有挑战。 ## 挑战难度 挑战难度是近似评估的: - Beginner(入门级):介绍一个主要思想或工具 - Intermediate(中级):结合多个步骤或需要更深入的分析 - Advanced(高级):需要链接多种技术、编写脚本或处理误导性工件 根据你对该领域的经验,挑战可能会让你感觉更容易或更难。 ## 挑战文件夹模板 每个挑战都应包含一个简短的 `README.md`,并使用以下结构: ``` # Challenge 名称 Category: Forensics Difficulty: Intermediate Author: Instructor ## 描述 Brief story or scenario for the challenge. ## Provided Files - file1.ext - file2.ext ## 目标 Recover the flag. ## Flag 格式 flag{...} ## 注意事项 Any rules, warnings, or special instructions. ``` ## 当前挑战 | 领域 | 挑战 | 难度 | 主要技能 | | --- | --- | --- | --- | | Forensics(数字取证) | Silent Gallery | Intermediate(中级) | 文件雕刻、频谱图分析、空白字符隐写术、基础逆向工程 | ## Flag 验证 对于课堂使用,有三种实用的方法可以验证 flag: 1. 由讲师手动验证。 2. GitHub Pages 验证器,根据哈希值检查提交的 flag。 3. 专用的 CTF 平台,例如 CTFd。 对于日常练习,GitHub Pages 验证器简单且免费,但学生可以检查客户端代码。对于严格的评分、隐藏 flag、账户、提示和排行榜,CTFd 是更好的选择。 推荐设置: - 保持本仓库公开,且仅包含面向学生的文件。 - 将官方解决方案保存在单独的私有仓库中。 - 如果需要自动评分和分数跟踪,请使用 CTFd。 ## 讲师须知 请勿将官方题解、源生成器、答案密钥或原始 flag 放置在公开文件夹中,除非该挑战已退役。 一份良好的私有解决方案记录应包含: - Flag - 预期解题路径 - 所需工具 - 提示阶梯 - 评分标准 - 常见错误 - 清理或重置说明(如果需要) ## 免责声明 这些挑战用于受控课堂环境中的教育目的。学生只能测试明确为课程提供的、或他们有权限进行分析的系统、文件和服务。
标签:CTF练习, ESC4, OPA, OSINT, Web安全, Web渗透, 云资产清单, 夺旗练习, 夺旗赛, 学习库, 学生练习, 安全培训, 安全教育, 安全教育实验, 安全竞赛, 实操练习, 实验, 实验室资源, 密码学, 手动系统调用, 教学资源, 数字取证, 数据可视化, 杂项, 电子取证, 系统分析, 网络分析, 网络安全, 网络安全课程, 自动化脚本, 蓝队分析, 解题思路, 逆向工具, 逆向工程, 防御加固, 隐私保护, 靶场, 黑客技术