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, 缓冲区溢出, 网络安全实验室, 蓝队分析, 软件安全, 逆向工具, 静态分析