首页
社区
课程
招聘
[水平测试第三弹]ExploitMe
发表于: 2013-5-25 18:04 4335

[水平测试第三弹]ExploitMe

2013-5-25 18:04
4335
前两次分别测试了兄弟们对格式化字符串漏洞的理解和office漏洞的补丁比较及构造调试,这次测试一下大家的汇编功底及shellcode技巧.
  附件是一个可执行程序,该程序会读取同目录下的wordexp.bin
要求:构造一个wordexp.bin,让程序读取文件后产生溢出并且执行程序或者弹个框.

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 492
活跃值: (51)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
xp sp3系统中找溢出点比较好找,是栈溢出,不过要对shellcode编码的比较特殊。但是win7下程序在访问0x20000这个地址时,会出现内存访问异常,目测这个没法利用。shellcode后面写个试试。
2013-5-26 00:05
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
我自已的代码在xp sp2/sp3通过,win7 x64下我到是发现int 2e用不起。
2013-5-26 08:08
0
雪    币: 492
活跃值: (51)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
shellcode每个字节必须要是在a-z和A-Z之间的值,这个可以编码解决,但是解码部分没法这样编码,不知道楼主是怎么解决的。
2013-5-26 13:14
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
就是让你写纯字母shellcode
2013-5-26 13:17
0
雪    币: 492
活跃值: (51)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
我再去想想
2013-5-26 13:19
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
嘿,放上来几天了还没人搞得定
2013-5-29 14:28
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
LZ,你第二弹放出去就走人了??

链接地址:http://bbs.pediy.com/showthread.php?t=154830
部分人没明白题目的意思,部分人对是否触发看法不同,差不多1年了,等楼主揭示谜底
2013-6-2 22:43
0
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
9
ma,明天搞来看看。
2013-6-3 01:39
0
雪    币: 357
活跃值: (3443)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
10
解码部分 用 字符是有的,参考n年前的webdev exploit
2013-6-3 01:56
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
没啥密底啊,不能触法的只不过是系统dll的版本不一样咯.这个洞和两种格式可以构造rtf和doc,rtf格式是非常稳定的.
2013-6-3 17:54
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
看来高手都不上看雪了...或是都没关注这贴子...这个exp用现成工具是生成不了的,楼上说的webdav的是有数字的,这个有工具可以生成.
2013-6-3 17:55
0
雪    币: 357
活跃值: (3443)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
13
目测这堆东西有点意思

00414141    FFE4            JMP ESP
00414143    FFD4            CALL ESP
00414145    FFE1            JMP ECX
00414147    FFD1            CALL ECX
00414149    FFE2            JMP EDX
0041414B    FFD2            CALL EDX
0041414D    FFE3            JMP EBX
0041414F    FFD3            CALL EBX
00414151    FFE0            JMP EAX
00414153    FFD0            CALL EAX
00414155    FFD5            CALL EBP
00414157    FFE5            JMP EBP
00414159    58              POP EAX
0041415A    58              POP EAX
0041415B    C3              RETN

rop?除了最后一个dword, 如何把前面的buf内容搞成地址0x00[a-z,A-Z]{3}? 还是要在dll里搜索 0x[a-z,A-Z]{4} ?

楼主这个exp有解吗? 我看了一下汇编的opcode,只有pushad,popad,push,pop,inc,dec,push reg32,pop reg32可以通过,sc里又不可以有ret,几乎无解,不喜欢搜索dll,通用性不好

楼主什么时候公布答案?
2013-6-6 15:44
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
回楼上,当然有解,同时也不用在dll里面去搜指令,这个shellcode写出来是很通用的是可以做为通用egghuntet在exp中用的.
  你目测到的东西是我故意留下的跳转地址,免得大家因为找不同的跳转造成溢出不通用.
另外你再认真研究下汇编指令吧.
  等有其它的答案的时候我就公布,其实这个代码我是七八年前就写过的(在winrar3.61的那个洞中使用过),一直也不知道有没有别的思路.
2013-6-7 10:55
0
雪    币: 253
活跃值: (46)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
blackwhite是巨牛~
2013-6-9 09:16
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
限制得很死啊~写出纯字母shellcode就成了~
只是知道思路是注意长度和写loader
水平有限,憋不出来啊
2013-6-11 20:22
0
雪    币: 238
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
17
最近刚开始学漏洞这些玩意儿,看了楼主这个ExploitMe挺有意思的,只能使用大小写字母编写shellcode,决定试一下,我的目标是在shellcode里面直接调用ExitProcess,哈哈,居然成功了

我的目标很简单,只需要在sc里构造出 e8 xxxxxxxx 5个数据即可

第一步是跳到sc,由于大小写字母的限制,跳板只能在有限的范围,看了下内存的布局,资源部分所在的节00414000很适合,搜索了下 FF E4,居然在00414141发现了,这是楼主故意留的吧,也就是说把那个文件全部用A填满就可以自动跳到sc了

第二步是构造sc,看了下可以用的指令,有出入栈,自加减,乘法,jxx,嗯,jxx好像不能往回跳,但可以用乘法构造那5个数据,再配合出入栈就行,只是我需要一些乘数(1,2,4),想了半天发现无法精确的得到我需要的乘数,无奈之际发现ebp居然是0,用inc指令就可以了

我是在win7 32位的环境下测试的,由于0x20000地址无法写,我把那个循环nop掉了,应该不影响

这是我的wordexp.bin的内容,大牛们请勿见笑
TZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXEUEUEEUUUUkJttQYDkJxjQYDkJpHAAQYDkJtzAAAAAQYDkJxvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

楼主什么时候放出答案啊,强烈期待哇
2014-3-5 19:10
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
好,放答案放答案.....过几天就放,对那个0x00414141是手工改的,免得大家找的跳转不通用。
我的原理也是利用的imul,不过我写成了通用的全字母egghunter。
2014-3-7 18:19
0
雪    币: 238
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
19
egghunter? 居然没有找到确切的解释...

好吧,伸手党坐等楼主“扯egg”
2014-3-10 09:48
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
TYXXXXfiApkCfPbwliAvwDgRPiArRhxpPiAnoYJFPLiAivBAAPiAenCAAPiAakHAAPLLLfiAXqOiIZQEuTfPQAAAoaCNaajCXvDQORzsESNKgwEBIachaasPAAAA
2014-3-12 13:03
0
雪    币: 238
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
21
多谢楼主分享,sp修改得很漂亮啊,学习了

我开始也想用乘法每次构造4个指令码,但是担心无法整除,就一个一个算
2014-3-13 18:45
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
22
不谢,我这东西还是有意思吧.
2014-3-13 19:38
0
雪    币: 238
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
23
真的挺有意思哈,你的第四弹什么时候出呢,期待ing
2014-3-14 18:20
0
游客
登录 | 注册 方可回帖
返回
//