HuayuXie/comp6441-project-security-ctf

GitHub: HuayuXie/comp6441-project-security-ctf

面向初学者的 Web 安全 CTF 实验室,通过四个漏洞挑战和对应的防御对比帮助学习者实践常见 Web 安全问题。

Stars: 0 | Forks: 0

# 初级 Web 安全 CTF 实验室 这个 COMP6441 项目包含四个小型的、适合初学者的 Web 安全 CTF 挑战。每个挑战都演示了一种不安全的设计,提供了预期的 flag 获取路径,并链接到了解释防御方法的安全对比。 ## 挑战 | 挑战 | 漏洞 | 主要防御 | | --- | --- | --- | | Cookie 角色绕过 | 信任客户端可控的 role cookie | 使用可信 role 数据的后端授权 | | 反射型 XSS | 将输入渲染为可执行标记 | 上下文感知的输出编码和 CSP | | 文件泄露 | 将不受信任的文件名拼接到路径中 | 文件允许列表和受控的路径处理 | | SQL 注入 | 将输入拼接到 SQL 查询中 | 参数化查询 | ## 运行 ``` python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python app.py ``` 打开: ``` http://127.0.0.1:5000 ``` ## 挑战 URL - 主页: http://127.0.0.1:5000 - 挑战 1: http://127.0.0.1:5000/challenge/1 - 挑战 2: http://127.0.0.1:5000/challenge/2 - 挑战 3: http://127.0.0.1:5000/challenge/3 - 挑战 4: http://127.0.0.1:5000/challenge/4 - 防御对比: http://127.0.0.1:5000/defence ## 测试 从项目文件夹运行自动化检查: ``` python -m unittest discover -s tests -v ``` 这些测试验证了每个挑战的预期利用方式,并确认安全对比阻止了相同的手法。 ## 项目结构 - `app.py`: Flask 路由、存在漏洞的挑战逻辑以及安全对比 - `templates/`: 挑战和防御页面 - `files/` 和 `secret/`: 用于目录遍历挑战的公开和隐藏文件 - `tests/`: 自动化的漏洞利用和防御检查 - `WRITEUP_TEMPLATE.md`: 用于记录每个挑战的可重复结构 - `SECURITY_NOTICE.md`: 实验室的安全使用边界 ## 安全 该应用程序是故意设计为包含漏洞的。请仅在本地学习环境中通过 `127.0.0.1` 运行它。不要将其部署到公共服务器,也不要在生产代码中重用其存在漏洞的模式。
标签:CISA项目, Flask, OPA, Python, Web安全, 多模态安全, 无后门, 漏洞演示, 蓝队分析, 逆向工具, 靶场