栈结构
寄存器环境 |
---|
局部变量 |
调用方栈 |
返回地址 |
参数 |
实验环境
编译器 | VS2022 |
---|---|
编译选项 | 1、属性->C/C++->常规->SDL检查(否 (/sdl-)). 2、属性->C/C++->代码生成->安全检查(禁用安全检查 (/GS-)). 3、属性->链接器->高级->随机基址(否 (/DYNAMICBASE:NO)) 4、属性->链接器->高级->数据执行保护(DEP)(否 (/NXCOMPAT:NO)) |
build版本 | x86 Release |
实验例子
|
|
漏洞利用
上述代码中fscanf没有长度检查,所以会造成栈溢出,可以被我们利用.