使用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]