0day 第11章--11.4节:从堆中绕过SafeSEH

实验原理:

SHE的安全校验存在一个严重的缺陷:如果SHE中异常函数指针执行堆区,即使安全校验发现SHE不可信,仍会调用已经被修改过的异常处理函数!因此基于这个原理我们将shellcode布置到堆区中执行!

实验环境:

Winxp sp3 vs2010
Release版本、禁用优化
在这里插入图片描述

实验程序:
在这里插入图片描述

分析程序:

首先程序申请了一块500字节的堆空间,将sellcode复制到该空间中;
在test函数中存在溢出,如果溢出过长将覆盖程序的SHE信息;
之后通过构造除0异常,调用SHE信息。

调试程序:

OD载入程序在printf处下断点,单步运行,buf的地址为0x003A3EC0。
在这里插入图片描述
F8单步,shellcode将复制到0x0012FE9C处
在这里插入图片描述
SHE所在位置是0x0012FFB0
在这里插入图片描述
因此我们构造0x0012FFB4-0x0012FE9C=280个字节,然后加上shellcode在堆中的地址0x003A3EC0,构造shellcode。

F9运行,弹框出现!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值