跳转至

项目选择与要求文档

项目列表(按难度从高到低排序)

1. AWD 防护-1

起始分:高
描述:
一场 AWD(Attack with Defense)比赛即将到来,你为了应对比赛中的防御部分,提前做一些准备。
要求:

  • 针对一道存在漏洞的 PHP 题目,编写防护脚本。
  • 例如,一个存在 RCE(远程代码执行)漏洞的页面,通过引用该页面后可被有效防护。

推荐语言:PHP、C(可能需要编写扩展或底层防护)
额外建议:

  • 防护脚本应具备实时监控和拦截恶意请求的能力。
  • 可以考虑使用 PHP 的 disable_functions 或 open_basedir 来限制危险函数的使用。
  • 如果需要更底层的防护,可以使用 C 编写 PHP 扩展来拦截危险操作。
  • 当然你也可以通过添加对下一部分的兼容来扩展的你的防御。

2. AWD 防护-2

起始分:中高
描述:
你认为仅从 Web 层进行防护是不够完善的,因此你准备编写一个监控脚本来定时监控你的机器。
要求:

  • 针对 PHP、Python 等常见语言的题目,编写一个综合防御脚本。
  • 功能包括:监控文件上传、监控权限变化、监控进程异常等。
  • 将脚本打包为可执行文件(ELF 文件),方便在比赛中快速部署。

推荐语言:Python、C、Golang
额外建议:

  • 可以使用 inotify 或 auditd 等工具监控文件系统变化。
  • 监控脚本应具备日志记录功能,便于后续分析。
  • 可以考虑加入自动修复功能,如自动恢复被篡改的文件。

3. AWD 进攻

起始分:中
描述:
一场 AWD 比赛即将到来,你为了应对比赛中的攻击部分,提前做一些准备。
要求:

  • 准备常见的攻击工具,包括:IP 分拣、POC 批量攻击、Flag 批量提交、批量上马、批量马管理等功能。
  • 工具应具备高并发处理能力,能够快速扫描和攻击多个目标。

推荐语言:Python、Java、Golang
额外建议:

  • 可以使用多线程或异步编程来提高攻击效率。
  • 工具应具备良好的日志记录和错误处理机制。
  • 可以考虑加入自动化功能,如自动识别目标漏洞并选择相应的 POC 进行攻击。

4. 安全运维

起始分:中低
描述:
你现在位于一个被黑客攻击的服务器上,需要使用脚本或可执行文件来获取黑客可能遗留下来的相关信息。
要求:

  • 编写脚本或工具,用于分析服务器上的异常文件、进程、网络连接等。
  • 工具应能够快速定位可疑文件或进程,并提取相关信息。

推荐语言:Shell、Golang、Python
额外建议:

  • 可以使用 find、grep、lsof 等命令来查找异常文件或进程。
  • 工具应具备日志记录功能,便于后续分析。
  • 可以考虑加入自动化分析功能,如自动识别常见的后门或恶意软件。

5. 其他安全开发工具

起始分:根据主题决定
描述:
你可以选择编写一些你认为有用的安全开发工具,如 C2 管理、Webshell 管理、CTF 工具箱等。
要求:

  • 工具应具备实用性,能够解决实际安全问题。
  • 可以参考现有的开源项目,如 Pyhacker。

推荐语言:Python、Golang、Java
额外建议:

  • 可以考虑编写一个集成了多种功能的工具箱,方便在 CTF 比赛或渗透测试中使用。
  • 工具应具备良好的用户界面和文档,便于其他人使用。

6. 前后端开发CTF网站管理系统

起始分:中
描述:
你可能因为某些原因只能选择这个项目,但如果你的完善度足够高,作品也会得到较高的分数。
要求:

  • 开发一个管理系统,具备用户管理、权限控制、日志记录等CTF平台基础功能。
  • 系统应具备良好的安全性和可扩展性。

推荐语言:前端(HTML/CSS/JavaScript)、后端(Python、Java、Golang)
额外建议:

  • 可以考虑加入安全功能,如防止 SQL 注入、XSS 攻击等。
  • 系统应具备良好的用户界面和用户体验。
  • 可以考虑使用现有的框架(如 Django、Spring Boot)来加速开发。

项目选择建议

  • 如果你擅长底层编程和安全防护,建议选择 AWD 防护-1 或 AWD 防护-2。这两个项目需要较强的安全知识和编程能力,适合对系统安全和漏洞防护有深入理解的同学。
  • 如果你擅长攻击和自动化工具开发,建议选择 AWD 进攻。这个项目需要你具备较强的攻击思维和工具开发能力,适合喜欢挑战和实战的同学。
  • 如果你擅长系统运维和应急响应,建议选择 安全运维。这个项目需要你具备较强的系统分析和问题定位能力,适合对 Linux 系统和安全运维有经验的同学。
  • 如果你有创意和想法,建议选择 其他安全开发工具。这个项目自由度较高,适合有创意和想法的同学,可以根据自己的兴趣开发一些实用的安全工具。
  • 如果你对前后端开发感兴趣,建议选择 前后端开发 XX 管理系统。这个项目虽然难度较低,但如果你的完善度足够高,也可以获得较高的分数。

评分标准

  1. 功能完善度:项目是否实现了所有要求的功能,功能是否实用。
  2. 代码质量:代码是否清晰、可读性强,是否有良好的注释和文档。
  3. 安全性:项目是否具备良好的安全性,是否能够有效防护或攻击。
  4. 创新性:项目是否有创新点,是否提出了新的解决方案或工具。
  5. 用户体验:项目是否易于使用,是否有良好的用户界面和交互设计。

希望这份文档能够帮助你更好地选择项目并完成任务!

评论