Adobe阅读器漏洞(adobe_cooltype_sing)学习研究

实验环境:Kali 2.0+Windows XP sp3+Adobe Reader 9.0.0

类别:缓冲区溢出

描述:这个漏洞针对Adobe阅读器9.3.4之前的版本,一个名为SING表对象中一个名为uniqueName的参数造成缓冲区溢出。

参考资料:《Metasploit魔鬼训练营》p286-p298

Adobe漏洞渗透过程:

kali上使用windows/fileformat/adobe_cooltype_sing,载荷为windows/meterpreter/reverse_http,生成恶意构造的pdf文件,并打开exploit/multi/handler进行监听。

在windows xp sp3靶机上打开该pdf,成功执行shellcode,回连到kali!

Adobe漏洞机理分析:

先通过源代码了解下此漏洞的大概机理。

100     # uniqueName
101     # "The uniqueName string must be a string of at most 27 7-bit ASCII characters"
102     #sing << "A" * (0x254 - sing.length)103     sing << rand_text(0x254 - sing.length)  104105     # 0xffffffff gets written here @ 0x7001400 (in BIB.dll)
106     sing[0x140, 4] = [0x4a8a08e2 - 0x1c].pack(‘V‘)
107
108     # This becomes our new EIP (puts esp to stack buffer)
109     ret = 0x4a80cb38 # add ebp, 0x794 / leave / ret
110     sing[0x208, 4] = [ret].pack(‘V‘)

构造了一个长度为0x254的字符串,其中偏移为0x208处的4字节将成为溢出之后的新eip。

接下来要寻找程序的溢出点。为了方便,修改下代码。

去除字符串随机性,将

sing << rand_text(0x254 - sing.length)

改为

sing << "A" * (0x254 - sing.length)

然后将ret=0x4a80cb38改为ret=0x42424242(字符串“BBBB”)。

重新生成样本文件debug.pdf,并在靶机windows xp中打开。

然而我并没有得到书上的结果,跳出了两个OllyIce,后一个关于AcroRd32.exe的已经终止

前一个最后也没有因为访问地址0x42424242而异常,而是另一个地址。

暂且解决不了这个问题,我决定“作弊"!

既然以上这步是为了找到溢出点,所以我直接看书找到相应的异常处并下断点。

然后,我再次调试打开debug.pdf,还是如上。

看来是在溢出点之前就有其他的异常,只能先用OllyDbg打开之前成功攻击的构造文件FormalAttack.pdf来调试。

还是不行,虽然直接FormalAttack.pdf可以成功执行shellcode回连,但是通过OllyDbg打开FormalAttack.pdf就会产生异常,在中断处往后执行几步奇怪的指令后就终止了,根本没经过我们下断点的CoolType模块。

时间: 2024-10-01 13:05:23

Adobe阅读器漏洞(adobe_cooltype_sing)学习研究的相关文章

js判断ie和edge是否安装Adobe Reader PDF阅读器

ie浏览器和edge浏览器,必须用Adobe Reader PDF阅读器才可以打开pdf文件,其他现代浏览器自带pdf阅读器,无需安装. 判断ie或者edge如果安装了,就浏览pdf文件:如果没安装就给出安装软件,让他下载. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="jquery

Android简单的编写一个txt阅读器(没有处理字符编码),适用于新手学习

本程序只是使用了一些基本的知识点编写了一个比较简单粗陋的txt文本阅读器,效率不高,只适合新手练习.所以大神勿喷. 其实想到编写这种程序源自本人之前喜欢看小说,而很多小说更新太慢,所以本人就只能找一个完本的.txt小说下载下来,有没有网络都可以看,当然现在不看那玩意了. 废话就不说了,程序中使用到的有4个类,5个xml文件,其中3个布局文件.String.xml.AndroidManifest.xml. 先看效果图吧(虽然很丑):     下面就上代码吧,本人都注释好了,由于本人技术还不行,注释

7款Linux下阅读PDF的阅读器。

5款Linux下阅读PDF的阅读器.1. Mupdf:link 2. Adobe Reader:link 3. Foxit Reader:link 4.Evince:link 5. Okular:link(基于KDE) 6. zathura Zathura 是一款新的 PDF 查看器 ,它相当轻巧,界面简约(与 Apvlv 很相似),且可以定制(如按键绑定.默认窗口大小等 ).除了 PDF 查看器所具有的一般功能之外,Zathura 还包括搜索.表单编辑.可点击链接.导出图像等其他功能.和 Li

(android高仿系列)今日头条 --新闻阅读器 (三) 完结 、总结 篇

从写第一篇今日头条高仿系列开始,到现在已经过去了1个多月了,其实大体都做好了,就是迟迟没有放出来,因为我觉得,做这个东西也是有个过程的,我想把这个模仿中一步一步学习的过程,按照自己的思路写下来,在根据碰到的知识点和问题,并且罗列出这些东西的知识点和使用方法.如果你单纯的把做好的一个DEMO拿去改改用用,那样,你永远不知道里面用到的内容是涉及到什么知识点,用什么方法实现,那样就没有多少提升价值而言了. 近期都是在通过开发文档把以前的一些东西重新过一遍,看好多网友都催促想要新版本的,那我就在这里先把

那些值得收藏的神奇的网站,使用RSS阅读器订阅喜欢的网站 --授人以鱼不如授人以渔

知识越是分享越是精通.姿势越学习越标准越熟练..咳咳..好邪恶...在分享自己的神器之际把自己淘宝的地方和大家共享,我觉得还是十分有必要的 一些神器的网站 包含放放面面,随机排序: 1.iPc.me    异次元软件世界  师出同门,分享有意思的东西,好软件,IT业界新闻,限免推荐,正版国内代购,推广各种优秀实用软件.网络资源. 2.On HAX 软钥  On HAX是我最喜爱的网站之一,软件xx工具和Serial聚集地.笔者在这上面淘到东西还真不少,小红伞Pro.Revo Uninstalle

Adobe9阅读器渗透攻击——20145301

Adobe9阅读器渗透攻击 实验步骤: 在kali终端中开启msfconsole,输入命令use exploit/windows/fileformat/adobe_cooltype_sing,进入该漏洞模块的使用. 使用命令set payload windows/meterpreter/reverse_tcp设置攻击有效载荷. 输入命令show options显示我们需要在攻击前需要设置的属性 输入命令 输入exploit,生成pdf文件(在隐藏文件夹中/.msf/local/5301.pdf)

读取本地HTML的小说阅读器应用源码项目

该源码是一个不错的读取本地HTML的小说阅读器,读取本地HTML的小说阅读器,并且源码也比较简单的,非常适合我们的新手朋友拿来学习,有兴趣的朋友研究下. 源码下载: http://code.662p.com/view/10134.html 详细说明:http://android.662p.com/thread-6191-1-1.html

webApp 阅读器项目实践

这是一个webApp 阅读器的项目,是慕课网的老师讲授的一个实战,先给出项目源码在GitHub的地址:https://github.com/yulifromchina/MobileWebReader. 项目属于麻雀虽小,但五脏俱全的类型,对于前端新手来说,还是很有学习价值. 一.项目成果展示 二.项目所用技术 语言:Html,css,js 插件: zepto.js: 使用于移动端的js库,语法与jquery相似,但增加了触摸等移动端事件,去掉了对浏览器兼容的代码,因此更轻量级 jquery.ba

android rss阅读器开发一点小技巧

这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override public void run() { try { URL url = new URL(RSS_URL); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser();