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