MicheleSpina99/Software-Security-Project
GitHub: MicheleSpina99/Software-Security-Project
一套涵盖缓冲区溢出、Web 安全、Fuzzing、静态分析和恶意软件分析的结构化软件安全实验课程,帮助学生和从业者系统掌握攻防技术。
Stars: 0 | Forks: 0
# 软件安全项目
软件安全实验室 — 涵盖缓冲区溢出、Web 安全、Fuzzing、静态分析和恶意软件分析的实践实验练习。本仓库专为希望以结构化、可重复的途径学习攻防软件安全技术的学生和从业者而设计。
## 概述
本仓库汇集了实用的实验和引导式练习,将理论、工具和漏洞利用开发结合起来,以教授安全的软件工程和事件分析。每个实验都包含明确的目标、所需任务、可选挑战、PoC 代码,以及用于记录发现和缓解措施的 writeup 模板。
学习成果
- 利用并缓解经典的内存破坏漏洞。
- 识别和修复常见的 Web 漏洞,例如 XSS 和 SQL 注入。
- 使用 Fuzzing 和 Sanitizer 来发现和诊断真实的 Bug。
- 执行静态和动态恶意软件分析并生成检测规则。
- 生成专业的技术报告和可复现的 PoC。
## 索引
- **缓冲区溢出**
- 在 64 位下攻击 `put_wisdom()` 并注入 shellcode **(必做)**
- 重新利用该漏洞以执行 `write_secret()` **(加分)**
- 在 32 位版本下攻击 `put_wisdom()` **(加分)**
- 利用全局数组 `ptrs` 中的缓冲区溢出执行 `pat_on_back()` **(加分)**
- **Web 安全**
- **XSS 跨站脚本攻击**
- 针对 POST 请求的存储型 XSS 攻击 **(必做)**
- 自我传播的 XSS 蠕虫 **(加分)**
- 内容安全策略 (Content Security Policy) 实验 **(加分)**
- **SQL 注入**
- 通过 SQL 注入修改表 **(必做)**
- 使用预处理语句 (Prepared Statements) 作为缓解措施 **(加分)**
- **Fuzzing**
- 使用 AFL 和 ASAN 对 OpenSSL 进行 Fuzzing **(必做)**
- 复现 Heartbleed 并诊断 Bug **(必做)**
- 在不使用 ASAN 的情况下使程序崩溃 **(加分)**
- 使用 Valgrind 分析程序 **(加分)**
- 运行带有性能优化的 AFL **(加分)**
- 修复 Heartbleed **(加分)**
- **静态分析**
- **恶意软件分析 — Astaroth**
- **基础恶意软件分析**
- Flag 1 — PE Header
- Flag 2 — First Bytes
- Flag 3 — IP 地址
- Flag 4 — 函数名
- Flag 5 — 已下载的文件
- Flag 6 — 导入的函数
- Flag 7 — 时间戳
- Flag 8 — Process Explorer
- Flag 9 — Process Monitor
- Flag 10 — 持久化
- Flag 11 — 移除持久化
- Flag 12 — Run Key (运行键)
- Flag 13 — DNS 流量
- Flag 14 — HTTP 流量
- Flag 15 — Capa DLL
- Flag 16 — Capa EXE
- **Windows 恶意软件**
- Flag 1 — `DLLMain` 的地址
- Flag 2 — `gethostbyname` 导入的地址
- Flag 3 — 调用 `gethostbyname` 的函数数量
- Flag 4 — 执行的 DNS 请求
- Flag 5 — IDA 识别的参数和局部变量
- `\cmd.exe /c` 字符串的位置和用途
- Flag 6 — “Hi, Master” 消息
- `dword_1008E5C4` 是如何设置的
- Flag 7 — 触发恶意软件的操作系统
- **LAB07‑01.exe**
- 程序如何维持持久化
- 程序为何使用互斥锁 (Mutex)
- 基于主机的检测特征
- 基于网络的检测特征
- 程序的目的
- 执行何时结束
- **进程注入**
- 运行恶意软件时的行为
- 被注入的目标进程
- 如何停止弹窗
- 恶意软件的运作方式
- **恶意软件检测**
- 针对 Lab01‑01.dll 的 YARA 检测
- 针对 Lab01‑01.exe 的 YARA 检测
- 使用 yarGen 生成规则
- 针对 Astaroth 攻击的 SIGMA 检测
标签:AFL, ASAN, CISA项目, CTF练习, DAST, Go语言工具, Heartbleed, OpenCanary, OpenSSL, TLS抓取, Web安全, XSS跨站脚本攻击, 云安全监控, 内存损坏, 安全培训, 安全实验, 安全工程, 安全攻防, 安全防护, 恶意软件分析, 模糊测试Fuzzing, 缓冲区溢出, 网络安全实验室, 蓝队分析, 软件安全, 逆向工具, 静态分析