首页
论坛
课程
招聘
[求助]关于0day2中利用加载模块之外的地址绕过safeSEH的问题
2018-3-24 11:45 3881

[求助]关于0day2中利用加载模块之外的地址绕过safeSEH的问题

2018-3-24 11:45
3881
书中第11章11.6节中利用 0x00290B0B地址处对应的 call [ ebp+0x30] 跳板指令,为什么执行了这个跳板指令之后,程序流程会去执行 0xEBF6的短跳转指令?

如图:


恭喜ID[飞翔的猫咪]获看雪安卓应用安全能力认证高级安全工程师!!

收藏
点赞0
打赏
分享
最新回复 (11)
雪    币: 5666
活跃值: 活跃值 (1070)
能力值: ( LV17,RANK:1185 )
在线值:
发帖
回帖
粉丝
holing 活跃值 15 2018-3-26 16:43
2
0
因为[ebp+0x30]指向栈上的shellcode
雪    币: 3841
活跃值: 活跃值 (618)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
病毒小子 活跃值 2018-3-26 16:57
3
0
holing 因为[ebp+0x30]指向栈上的shellcode
谢谢回复,你的意思是[ebp+0x30]的位置就是0xEBF6的短跳转指令吗?
雪    币: 5666
活跃值: 活跃值 (1070)
能力值: ( LV17,RANK:1185 )
在线值:
发帖
回帖
粉丝
holing 活跃值 15 2018-3-27 06:15
4
0
病毒小子 谢谢回复,你的意思是[ebp+0x30]的位置就是0xEBF6的短跳转指令吗?
这个你自己跟一下就清楚啦
雪    币: 3841
活跃值: 活跃值 (618)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
病毒小子 活跃值 2018-3-27 09:14
5
0
跟了,但是模块之外的地址不能下断点,只知道结果确实是执行了shellcode代码。
雪    币: 259
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我的熊猫 活跃值 2018-4-12 10:33
6
0
截图全一点呀。。,是的,在ebp+30的地方填充的是短跳转指令
雪    币: 3841
活跃值: 活跃值 (618)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
病毒小子 活跃值 2018-4-12 12:25
7
0
我的熊猫 截图全一点呀。。,是的,在ebp+30的地方填充的是短跳转指令
但是没有明白ebp+30怎么填充为短跳转指令的
雪    币: 259
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我的熊猫 活跃值 2018-4-12 16:06
8
0
病毒小子 但是没有明白ebp+30怎么填充为短跳转指令的
调试可知,仔细看书,上面说了,调试过程中发现跳转后的位置是四个0x90,最后用了两个字节填充的短跳指令
雪    币: 3841
活跃值: 活跃值 (618)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
病毒小子 活跃值 2018-4-12 17:00
9
0
我的熊猫 调试可知,仔细看书,上面说了,调试过程中发现跳转后的位置是四个0x90,最后用了两个字节填充的短跳指令
从短跳转到长跳转最后到shellcode都能理解,不理解的是为什么执行了0x00290B0B位置的指令后,程序会转入执行短跳转指令
雪    币: 259
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我的熊猫 活跃值 2018-4-14 09:49
10
0
就是先跳到call  ebp加30的地址,执行call之后跳到ebp加30的位置,那里被填充成短跳指令了
雪    币: 259
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
我的熊猫 活跃值 2018-4-15 21:17
11
0
病毒小子 从短跳转到长跳转最后到shellcode都能理解,不理解的是为什么执行了0x00290B0B位置的指令后,程序会转入执行短跳转指令
刚实验到这个地方了,在网上看了下,有一种说法是seh都是链着的,执行call  [ebp+30]之后无法处理异常,就会继续转入下一个seh,也就是next  seh,也就是短跳指令所在的地方,所以那么多指令都最终会执行到next  seh那里
游客
登录 | 注册 方可回帖
返回