jordanflores7/Buffer-Overflow-Exploit-C
GitHub: jordanflores7/Buffer-Overflow-Exploit-C
通过手工构造C语言exploit演示经典栈溢出攻击流程,实现缓冲区溢出到root权限获取的完整教学项目。
Stars: 0 | Forks: 0
# 缓冲区溢出与栈溢出攻击
## 概述
本项目演示了对基于 C 的系统程序的经典**栈溢出攻击**。其目标是利用目标应用程序(`vuln.c`)中的缓冲区溢出漏洞,通过反向 shell 获取 root 权限。
## 展示的技术技能
* **安全概念:** 缓冲区溢出、栈布局、内存破坏。
* **漏洞利用技术:** Payload 构造、NOP sled、返回地址劫持。
* **防御绕过:** 手动禁用 ASLR(地址空间布局随机化)以模拟旧版系统漏洞。
* **环境:** 虚拟机中的 Linux(内核 < 2.4)环境。
## 工作原理
该漏洞利用程序针对 `vuln.c` 中编写不当的缓冲区。通过溢出该缓冲区,我成功覆盖了栈上的函数返回地址,将程序执行流重定向至我编写的恶意 shellcode。
## 执行过程
1. **目标:** `vuln.c` 的编译版本。
2. **漏洞利用程序:** 运行 `exploit.c`,该程序会生成一个包含以下内容的 payload:
- 用于提高跳转着陆稳定性的 NOP sled。
- 用于启动反向 shell 的 shellcode。
- 用于覆盖返回指针的计算出的内存地址。
## 结果
一次成功的攻击最终获得了一个具有 `root` 权限的 shell。

## 免责声明
本项目是专为 CECS 478(计算机安全)课程创建的教育用途项目,旨在理解内存安全和防御性编程。
标签:ASLR绕过, Go语言工具, Linux内核, meg, NOP Sled, ROP, Shellcode编写, Web报告查看器, 二进制漏洞利用, 云资产清单, 信息安全, 内存安全, 内存损坏, 协议分析, 子域名枚举, 安全教育, 客户端加密, 攻击演示, 本地提权, 权限提升, 栈溢出, 栈破坏, 漏洞复现, 系统安全, 缓冲区溢出, 网络安全, 返回地址劫持, 逆向Shell, 逆向工程, 隐私保护