首页
社区
课程
招聘
[求助]p352,p359关于数据DEP一节12.5,12.6和浏览器有关的实验问题
发表于: 2014-3-31 11:17 13959

[求助]p352,p359关于数据DEP一节12.5,12.6和浏览器有关的实验问题

2014-3-31 11:17
13959
总算成正式会员可以发帖了,下面提两个问题,希望大家来看看,第一次发帖,图片有点多有点模糊,莫喷

12.5利用.net挑战DEP的问题:
我执行到了sprintf后,然后观察栈的情况,字符串复制成功了,但是在执行完后面的一个call函数后(不知道是什么函数),程序就跳到了另外一个地方,观察栈时,此时ESP跳到我们的shellcode的前面去了,于是就返回不到那个242424E2的地址了,环境全都是按书上来的(原来是按IE6,现在升级到了IE7还是有这个问题,而且我是看了南宫世家的这个帖子:http://bbs.pediy.com/showthread.php?t=161191才调到这一步了,以前连DEP-NETDLL都看不到),下面上图:
执行完aaaa后的sprintf后的某处:





接着单步调试:






然后完call之后就跳到这里了:





不知道为什么啊,程序怎么不去242424E2所在的栈地址处啊,不太明白求大神指点

第二个问题12.6,利用java applet挑战DEP
前面的结果和书上都一样,直到第362页的图12.6.2都是一样的,但是就是不出结果,不知道为什么:
图:


运行后的结果:

这个也不知道是什么问题,请大神指点

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 11
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
原来是我自己写代码的时候没注意 我刚才做实验的时候仔细观察

call VulnerAX.AFX_MAINTAIN_STATE2::

这一行,发现在反汇编区的下面那个小提示框里出现了这句话:

vulnerAXctrl.cpp:192 }

于是我去我VS2008里面写的那个VulnerAX.ocx  找到这个文件的192行
发现192行是test函数的结尾,我再看了下test函数,发现里面的一行代码:

AFX_MANAGE_STATE(AfxGetStaticModuleState());

这个应该是和我多出来的那段代码有关,我没注释掉,但是我记得以前我是注释掉了的,昏了 刚才注释掉后 再去OD里面调试 sprintf后面就没有call了 反汇编代码和P370的13.2.4代码一样了
还是自己不仔细啊
这样,12.5 的实验按照上面的,把那句代码注释掉,就可以运行处结果了


顺便说一句,12.5的实验个人感觉和IE6和IE7浏览器没关系,我之前没弄出来以前是浏览器问题,把IE6升级到了7,现在挺郁闷,不能回去了,个人觉得IE6还挺好的

昏了,刚才测试了一下,发现12.6也是因为这个问题而没出结果,现在注释掉那段代码后就出结果了,爽
上传的附件:
2014-4-1 21:48
0
雪    币: 39
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
为什么按书上的不成功呢
最后于 2020-4-21 23:40 被Jmp_e5p编辑 ,原因:
2020-4-21 23:40
0
游客
登录 | 注册 方可回帖
返回
//