敲黑板敲黑板~睡着的同学醒醒了!!
今天我们继续突破SafeSEH,上次讲到第二种思路 利用未启用SafeSEH模块绕过SafeSEH
今天来实现最后一个突破思路:
异常处理函数位于加载模块内存范围之外,DEP关闭------->>>在加载模块内存范围外找一个跳板指令就可以转入shellcode执行
上次我们是找到了一个加载模块内存范围内找到的一个指令,今天我们要在加载内存范围外找一个跳板指令了。
预告:今天会有一个漏洞利用中很重要很常用的技巧,那就是跳板指令的选择与查找。(而且是那种,你只需要知道是什么,不需要知道为什么的方法。)
环境:
XP SP3
vs 2008
optimization disable
release
DEP关闭(这个问题我想明白了,XP默认就会关闭,不用vs专门关闭)
先把今天实验代码贴出来
今天我们继续突破SafeSEH,上次讲到第二种思路 利用未启用SafeSEH模块绕过SafeSEH
今天来实现最后一个突破思路:
异常处理函数位于加载模块内存范围之外,DEP关闭------->>>在加载模块内存范围外找一个跳板指令就可以转入shellcode执行
上次我们是找到了一个加载模块内存范围内找到的一个指令,今天我们要在加载内存范围外找一个跳板指令了。
预告:今天会有一个漏洞利用中很重要很常用的技巧,那就是跳板指令的选择与查找。(而且是那种,你只需要知道是什么,不需要知道为什么的方法。)
环境:
XP SP3
vs 2008
optimization disable
release
DEP关闭(这个问题我想明白了,XP默认就会关闭,不用vs专门关闭)
先把今天实验代码贴出来
[C]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
DWORD
MyException(
void
)
{
printf
(
"There is an exception"
);
getchar
();
return
1;
}
void
test(
char
|