使用VC2017+IDA模拟复现CVE-2017-11882缓冲区溢出
来源:岁月联盟
时间:2020-01-29
8、只要将上面txt文件的内容传入sub_ovdemo函数,即可溢出跳转执行命令。
9、实验完成,收工。
后记
1、手写代码模拟漏洞复现,确实有点意思,可以更加理解漏洞产生的来龙去脉。因为这个漏洞利用起来实在是太方便了,都不用写shellcode,直接跳转调用WinExec执行命令。从阴谋论上来说,实在难以排除有开发人员故意留下这后门的可能性哈(开个小玩笑)。
2、为了完成实验,前后不断调整Visual Studio的编译优化选项,才使得生成类似的汇编代码。
Project setting:
c/c++
Optimization
Optimization: Maximum Optimization (Favor Size) (/O1)
Favor Size of Speed: Favor small code (/Os)
Whole Program Optimization: no
Code Generation
Basic Runtime Checks: Default
Security Check: Disable Security Check (/GS-)
Linker
Advanced
Randomized Base Address: No (/DYNAMICBASE:NO)
Data Execution Prevention(DEP): No (/NXCOMPAT:NO)
在实际工作中,推荐使用高版本的开发环境(VS2015+),打开安全检查选项和运行时检查, 开启了动态随机基址(ALSR) 和DEP,使生成的二进制程序不出现这类简单的溢出漏洞。
上一页 [1] [2]