
环境变量与 Set-UID 程序实验
Set-UID 是 Unix 系统中重要的权限机制,程序运行时会临时获得文件所有者的权限。本实验通过环境变量与 Set-UID 程序的交互,帮助学生理解特权程序面临的风险,以及代码处理不当时攻击者如何利用这些风险。
查看实验资源 →
缓冲区溢出攻击实验
本实验让学生把课堂中学到的缓冲区溢出知识用于实际攻击。学生需要分析多个存在缓冲区溢出漏洞的服务器程序,构造利用方案获得 root 权限,并测试常见防护机制是否有效以及为什么有效或失效。
查看实验资源 →
缓冲区溢出攻击实验(ARM64)
本实验面向 ARM64 环境,帮助学生通过真实攻击理解缓冲区溢出漏洞。学生需要利用存在漏洞的服务器程序改变控制流、获得权限,并比较不同缓冲区溢出防护机制在 ARM64 平台上的效果。
查看实验资源 →
Return-to-libc 攻击实验
本实验研究 return-to-libc 攻击。该攻击不需要在栈上执行 shellcode,而是让漏洞程序跳转到内存中已有的库函数,例如 libc 中的 system(),从而绕过不可执行栈等防护机制。
查看实验资源 →
Shellcode 开发实验
Shellcode 常用于代码注入类攻击,但从零编写 shellcode 需要处理数据地址定位、二进制代码中避免零字节等问题。本实验通过 amd64 和 arm64 示例,帮助学生理解 shellcode 的关键技巧并编写自己的代码。
查看实验资源 →
格式化字符串攻击实验
本实验让学生亲手利用格式化字符串漏洞。漏洞通常来自类似 printf(user_input) 的代码,攻击者可以借此读取任意内存、修改内存值,甚至改变特权程序或服务器程序的行为并获得 root shell。
查看实验资源 →
竞态条件漏洞实验
本实验围绕竞态条件漏洞展开。学生将利用多个进程并发访问同一资源时产生的时序问题,攻击一个有漏洞的特权程序以获得 root 权限,并进一步分析相关防护方案的效果。
查看实验资源 →
Dirty COW(脏牛)攻击实验
Dirty COW 是 Linux 内核写时复制机制中的经典竞态条件漏洞,曾影响包括 Android 在内的大量 Linux 系统。本实验通过复现 Dirty COW 攻击,帮助学生理解内核竞态漏洞如何导致受保护文件被修改并最终获得 root 权限。
查看实验资源 →
Shellshock 攻击实验
Shellshock 是 2014 年发现的 Bash 严重漏洞,既可以被远程利用,也可以在本地环境中触发。本实验通过实际攻击过程,帮助学生理解 Bash 函数导入机制中的缺陷以及该漏洞为何影响广泛。
查看实验资源 →