缓冲区溢出漏洞的演示项目bufferOverflowSampleServer
挺适合入门安全研究的朋友们。
项目的Server.c
和main.c
是重点,看着不复杂,逻辑也清晰,方便你定位输入点和潜在的溢出点。比如没加长度校验的strcpy()
用法,就挺典型的。
Server.h
里声明的结构和函数名也比较直观,基本一眼就能看出服务的流程,对理解服务端内存操作挺有。
再说Server.dev
和Makefile.win
,其实蛮实用,是你想在 Windows 环境下复现编译流程的时候,少了不少踩坑时间。
编译后的Server.o
和main.o
虽然用不上直接运行,但拿来配合反汇编工具内存管理的细节也不错,是栈帧布局之类的东西。
项目虽然简单,但适合做安全测试,比如拿 GDB 做个小实验,看看溢出怎么影响返回地址。如果你想练习怎么加 Canary 或者用-fstack-protector
来防御,也正好用得上。
,如果你刚好在学C
,又对安全感兴趣,这个小项目真的可以玩一玩。要是你用惯了高层语言,会惊讶于 C 里操作内存的“自由度”。