首页
社区
课程
招聘
[翻译]Fuzzing(一个off-by-one漏洞)
发表于: 2011-3-17 12:04 4639

[翻译]Fuzzing(一个off-by-one漏洞)

2011-3-17 12:04
4639

【题目】Fuzzing
【作者】zelik
【译者】后恋
【时间】原文时间:2010 -11月-22 日,译文时间:2011年-3月-17日
【原文】http://www.exploit-db.com/fuzzing-vs-reversing-round-1-fuzzing/

  最近笔者一直在测试Adobe Flash Playe。在笔者自主研发的框架上对Flash的一个简单格式进行测试。这项测逐步深入渐渐的覆盖到了
更多的格式。一段时间后,笔者注意到在加载一个SWF格式的文件时会发生奇怪的崩溃,当用OD对它进行调试的时候程序会终止。如下
图所示:


*
说明:调试环境为安装了Adobe Flash 10.1.85.3的XP SP2系统。在调试这个程序前,我们先调试下IE浏览器发现它被定位到了0x03281000h.

   笔者在调试的时候发现在解析“DefineFont2”标签数据的函数中存在一个Off-by-One溢出漏洞。这个漏洞看上去并不是很明显,但是当解析“DefineFont2”的主函数在解析整个标签时,随着数据和我们定义的字体的提交这个漏洞就出现了。“DefineFont2”标签允
许我们指定一个不超过0xFFh字节的字体名称。“DefineFont2”标签格式如下:


   
  在有关"DefintFont2"标签的程序初始化完成之后,0x032ACB45h处函数"CopyFontName"会分配一个缓冲区用来存储函数所接收到的字体名称参数。这个缓冲区的分配是通过调用0x032CA7FEh处的"AllocateBuffer"函数进行分配的。


.text:032ACB45  CopyFontName
...
.text:032ACB68      push    [esp+0Ch+FontName]
.text:032ACB6C      jge     short loc_32ACB79
.text:032ACB79  allocateFontName:
.text:032ACB79      lea     esi, [edi+10h]
.text:032ACB7C      mov     ecx, esi
.text:032ACB7E      call    AllocateBuffer ; // AllocateBuffer(Buf, FontName);
.text:032ACB83      mov     ecx, esi
.text:032ACB85
.text:032ACB85  terminateFontName:
.text:032ACB85      push    80h
.text:032ACB8A      call    NullTerminate ; // NullTerminate(Buf, 0x80);
.text:032ACB8F      mov     ecx, edi
.text:032ACB91      call    sub_32ACA47
.text:032ACB96      pop     edi
.text:032ACB97      pop     esi
.text:032ACB98      pop     ebx
.text:032ACB99      retn    8

 
.text:032CA609  AllocateBuffer
…
.text:032CA61C      lea     edx, [eax+1]
.text:032CA61F
.text:032CA61F  loc_32CA61F:
.text:032CA61F      mov     cl, [eax]
.text:032CA621      inc     eax
.text:032CA622      test    cl, cl
.text:032CA624      jnz     short loc_32CA61F
.text:032CA626      sub     eax, edx
.text:032CA628      jmp     short loc_32CA62C
  

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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (3)
雪    币: 72
活跃值: (60)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
怎么申请个邀请码就这么难恩?发了几篇了。斑斑看看给点动力吧!虽然这个漏洞有点鸡肋,但是还是值得借鉴的啊。
2011-3-17 13:06
0
雪    币: 678
活跃值: (101)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
3
只是翻译感觉不够好,最好把自己实际进行分析的过程写下来。
2011-4-3 16:50
0
雪    币: 72
活跃值: (60)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
谢谢大牛的。教导,我以后会尽力做好的。
2011-4-6 13:04
0
游客
登录 | 注册 方可回帖
返回
//