阅读:3533回复:5
求助!利用异常处理执行shellcode
我在学习利用异常处理执行shellcode(网络渗透技术)的时候遇到的问题:
构造数据覆盖SEH结构,调试的数据如下(系统为简体中文xp xp2) 0012F550 90909090 // 发生异常时候的esp,被构造的数据覆盖 0012F554 90909090 0012F558 90909090 0012F55C 90909090 0012F560 90909090 。 。 。 。 0012F5AC 06EB06EB // 指向下一个 SEH 记录的指针 0012F5B0 7C80DF4C // SE处理程序 ,被覆盖成poppopret地址 0012F5B4 DB31C031 // 构造的shellcode开始处 0012F5B8 D231C931 0012F5BC 885937EB 0012F5C0 77BB0A51 。 。 。 用Ollydbg调试的时候,看到构造的数据都是正确的,但是不会到0x7C80DF4C地址执行 修改eip为0x7C80DF4C,poppopret后eip为90909090,内存地址不可读 利用jmp ebx的方式在windows2K上是运行成功的 请帮我指点下,谢了 |
|
沙发#
发布于:2007-11-04 12:10
gs保护
|
|
板凳#
发布于:2007-11-04 15:10
什么程序啊,gs也保护不到覆盖异常的,兄弟。
|
|
|
地板#
发布于:2007-11-06 13:13
XP有保护机制啊。这个贴是不是你问的?
http://b0d.5d6d.com/thread-69-1-1.html |
|
|
地下室#
发布于:2007-11-27 21:32
很抱歉没仔细看你的问题,这么看你的pop、pop、ret指令已经执行了?那么就是你的指令是不是把ebp给+4了,我还遇到过一种可笑的事情,就是覆盖了seh,但是根本就不跳转,除非是那种非映射范围的空间,比如说0x80808080,gyzy如果ie里面不使用heapspray还有什么办法利用覆盖seh的溢出呢?
|
|
5楼#
发布于:2007-12-05 22:11
heap spray只是在无法精确定位shellcode的情况下来定位shellcode的。
|
|
|