首页
社区
课程
招聘
0day一书第五章shellcode一点
发表于: 2015-3-2 13:13 4642

0day一书第五章shellcode一点

2015-3-2 13:13
4642
是有关最基本的jmp esp 定位shellcode问题。
在动手实践该书5.2节 jmp esp跳板技术定位自己的shellcode时,出现非法访问的错误,求大神点拨。细节如下。

1.vs2010+debug模式,相关设置:



2.执行完strcpy复制函数后相关shellcode已经复制进堆栈。



3.函数的返回地址被jmp esp 指令地址淹没,所以函数返回时 执行jmp esp指令



4.原esp 中保存的是我自己的shellcode,开头是一段nop指令,按道理执行完jmp esp 就能执行我自己的shellcode。



5.实际上执行完jmp esp指令后,执行下一条nop指令时却弹出如下错误



 百撕不得其解,求指导求轻喷,在线等

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是不是堆栈上的数据不能被当作指令来执行?ollydbg运行该程序时也会出现非法访问问题:



此外改用其他的 jmp esp指令地址也不行 求解惑
上传的附件:
  • 5.png (165.64kb,13次下载)
2015-3-2 13:29
0
雪    币: 292
活跃值: (800)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
按理说jmp esp跳转到esp之后就是将堆栈中的数据作为指令执行了才对,建议你调试的时候还是用od或者windbg单步跟踪比较好,方便观察寄存器和堆栈中的值的变化,你这是在win7下调试要看看DEP和ASLR关闭没有
2015-3-3 08:52
0
雪    币: 19
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
关闭DEP
2015-3-3 11:08
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
关闭DEP就好用了~感谢感谢
2015-3-4 14:33
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
确实是DEP没关闭,感谢哈~
2015-3-4 14:35
0
游客
登录 | 注册 方可回帖
返回
//