利用pdf的js函数漏洞构造堆喷射的攻击思路
首先声明一下,本人对于漏洞这块也是小菜鸟一个,没研究多久,自己对于漏洞的一些理解也不是很全面。但是研究了一些CVE的分析后,有点收获,所以写了此文章分享自己的思路,也没保证完全是正确的,所以希望大家看后有什么意见可以和我交流,咱们一些学习嘛。
最近研究了下PDF文件的漏洞,有点小发现,所以就整理了一下自己的思路。
经过这几天的研究,发现PDF大多数漏洞是出在Acrobat 和Reader中的字符解析器和Javascript引擎中。主要是PDF文件的内容主要是放在某个对象的流中,如果我们没有安装Acrobat 或Reader,直接用一般的文本阅读工具打开,看到的是一堆乱码。而Acrobat 和Reader之所以能把这些乱码变成我们看的懂的文本,主要是依靠这两个程序内置的字符解析器,一般要解析必须用到Acrobat 和Reader的一些动态链接库,在调用动态链接库的函数时,只要某个函数存在着溢出,这很可能就是一个可利用的漏洞。这个就不深入讲了,再讲要讲一大堆,而且在下也不是完全理解透,不敢乱讲。第二种呢就是本文要讲的Javascript引擎中所存在的漏洞。讲前要先说明几点:
1、首先第一点,PDF文件支持内嵌JS代码,但是JS与底层操作系统交互能力有限,所以PDF文档中的JS不能够访问任何文件。
2、为了能够让我们嵌入的JS代码能够去执行我们绑定的木马,我们必须利用某种安全漏洞才能摆脱JS引擎的限制来执行任意代码。
3、一般的js攻击代码都会利用到某个已经被发现存在溢出的函数,通过给该函数传入特制的参数使之溢出,改变了函数的返回地址,从而运行该函数后使程序去执行内