-
-
[原创]3.栈溢出漏洞--GS和DEP
-
发表于:
2019-12-25 20:14
8974
-
启用安全检查,防止栈溢出执行,VC6.0没有这个选项
开了GS后函数开始会多出全局变量security_cookie给eax,然后放在var4
函数结束是会把security_cookie给寄存器然后调用check_cookike这个函数
按x可以看到这个值是从这里来的
是一个叫init_cookie的函数
继续看交叉引用,发现是入口点位置直接执行
1.虚表攻击
2.SEH
开启DEP栈就没有执行代码的权限,溢出也没用
安装
安装好这个软件
注意:
install Python 2.7.14 (or a higher 2.7.xx version) Make sure you are installing the 32bit version of python.
要不然会闪退
然后github下载插件
把mona安装到下面得文件路径
Immunity Inc\Immunity Debugger\PyCommands
简单使用
输入!mona
命令运行模块
会出现一大堆得命令
这个是配合上面得命令使用的
!mona <command> <parameter>
例如:
在所有模块查找所有得jmp esp指令
!mona jmp -r esp -m*
运行程序
前面的代码是用来把VirtualProtect函数地址
和所需的参数给放到寄存器里面
最后pushad到栈里面
就会形成一个VirtualProtect的函数栈
执行完VirtualProtect函数修改栈属性,然后执行jmp esp,继续栈里面执行我们的shellcode
我这里用它生成了个3000字节的数组
生成在pattern这个文件里面,不要让他换行并且拷贝过来并且发包
之后到我们溢出的返回地址里面找字符,发现是8Co9
输入命令
!mona pattern_offset 8Co9
发现在2006的偏移位置
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课