`
java-mans
  • 浏览: 11742192 次
文章分类
社区版块
存档分类
最新评论

利用HTTP协议和IE的漏洞在其他计算机上运行一个程序

 
阅读更多

作者:星轨(oRbIt)
E_Mail:inte2000@163.com

<!-- Search Google -->
Google 输入您的搜索字词 提交搜索表单
<!-- Search Google -->

我们每天都使用网络浏览五彩缤纷、动感十足的网页,查询需要的信息,你是否想过这些都是嵌入的脚本代码的功劳呢?如果没有这些脚本代码,网页就只是静态的图片和文字的组合,看起来索然无味,网络的魅力顿失。但是,和任何其他事情一样,嵌入网页的脚本代码也有两面性:一方面,网络工程师可以通过脚本编程为网页带来很多匪夷所思的效果,制作出既漂亮又功能强大的网页;另一方面,别有用心的人也能利用这些代码给你的系统带来危害。一些网站故意将这些恶意代码嵌入网页,搜集访问者的信息,将其网址设为IE的默认打开页面,甚至锁定访问者的注册表,在访问者的计算机上植入木马程序等等。这些恶意脚本代码往往隐蔽执行,在访问者毫无觉察的情况下完成操作,所以具有很大的危害性。
具有破坏性的恶意脚本代码通常也被称为脚本病毒,脚本病毒不是可执行程序,它只是一段程序的代码序列,通常是VB Script,因为VB Script功能强大并且有Windows操作系统的脚本调试器支持,使用它编制的恶意脚本代码往往破坏力巨大。脚本病毒通常可以分为两类,一类是单纯的脚本代码,它的所有功能都在脚本代码中实现,通过在宿主计算机上直接执行脚本代码达到破坏目的。这一类病毒通常是嵌入到网页内欺骗宿主计算机执行或使用Html格式的邮件发送给宿主计算机,欺骗宿主计算机的使用者打开邮件,从而执行病毒代码。另一类脚本病毒是脚本代码和可执行文件相结合的复合型脚本病毒,执行破坏作用的主体是可执行文件,脚本代码只是起到传播和植入作用。这一类型的脚本病毒主要是通过发送电子邮件到宿主计算机,欺骗宿主计算机的使用者打开邮件,通过嵌入Html格式邮件内的脚本代码执行附件中隐藏的病毒体。但是也可以嵌入网页中,利用HTTP协议和IE的漏洞在网页浏览者的计算机上执行,本文就是介绍这样一种方法。
要想在宿主计算机上执行一个程序,首先要将程序文件植入到宿主计算机。正常情况下脚本代码是没有访问宿主计算机的权限的,但是利用HTTP协议和IE的漏洞却可以做到这一点。HTTP协议支持在网页中埋入媒体文件,并且可以扩充媒体文件的类型,但只是根据文件的扩展名称判断媒体文件类型,并没有对媒体文件的合法性(是否真的是这种类型的媒体文件)进行验证,这就给了我们可乘之机--将我们的可执行程序伪装成合法的媒体文件欺骗HTTP协议,使HTTP协议将其当成媒体文件传输。但是怎么利用这一点呢?具体讲就是如何找到这个已经下载到宿主计算机上的文件呢?这就要用到IE浏览器的一个漏洞了,IE在浏览一个网页时会将网页中嵌入的媒体文件都下载到一个临时目录中,这个临时目录的位置是固定的,在保存文件时会使用网页中指定的文件的原始名称,如果该目录中已经存在同名的文件,就在文件名后面添加“[1]”、“[2]”等以示区别。根据这些“规律”我们就可以编写嵌入网页中的脚本代码在浏览器的缓存目录中找到我们的程序。
原理虽然简单,但是还有很多问题需要考虑,首先是如何欺骗放病毒软件。将可执行程序文件的扩展名改成bmp、jpg、gif等媒体文件类型的扩展名并不难,却很难逃过防病毒软件的侦察,很多防病毒软件是通过查看文件的头结构来判断文件类型的,所以简单的改名字是很容易被识破的。不过正所谓“道高一尺,魔高一仗”,我们可以伪造一个头结构来骗过这类防病毒软件。通常我们采用bmp位图文件来伪装可知行程序,伪造一个合法的位图文件头结构,将可执行文件作为位图数据嵌入位图文件。之所以选择伪装成bmp位图文件格式是因为bmp位图文件头结构简单,容易伪造,很多软件都是利用bmp文件伪装自己或隐藏信息。位图文件有一个长度为14个字节的文件头结构和一个长度为40字节的位图信息头结构,使用C++语言可作如下描述:

typedef struct tagBmpFileHeader //位图文件头结构
{
charbfSign[2]; //文件特征,一般是标志“BM”
unsigned longbfSize;
unsigned shortbfReserved1;
unsigned shortbfReserved2;
unsigned longbfOffBits;
}BmpFileHeader;

typedef struct tagBmpInfoHeader //位图信息头结构 (Windows 风格)
{
unsigned longbiSize; //信息结构的大小,40,这个字段必须正确填写
longbiWidth;//位图的宽度
longbiHeight;//位图的高度
unsigned shortbiPlanes;
unsigned shortbiBitCount; //颜色深度
unsigned longbiCompression;
unsigned longbiSizeImage;//位图数据的大小
longbiXPelsPerMeter;
longbiYPelsPerMeter;
unsigned longbiClrUsed;
unsigned longbiClrImportant;
}BmpInfoHeader;

文件头结构的bfSign必须是“BM”,bfSize是整个位图文件的大小,bfOffBits对于24位位图就是文件头结构加位图信息头结构的大小,对于使用调色版的位图文件还要跨过调色版区域,一般可以随便填写,防病毒软件通常不检查这个字段,bfReserved1和bfReserved2必须是0。位图信息头结构的biSize必须是40,biBitCount通常选择24,因为24位位图计算大小比较简单。biSizeImage 由biWidth和biHeight以及biBitCount字段共同决定,可以根据可执行文件的大小适当的填写,但是要保证biWidth*biHeight*biBitCount / 8稍大于可执行文件的大小,在计算biSizeImage还要注意位图文件的数据每行按4字节对齐,适当的选择biWidth和biHeight,使计算出来的biSizeImage稍大于可执行文件的大小,多出来的部分可以用随机数字填充。
骗过浏览器和防病毒软件之后要做的事情就是找到我们的假bmp位图文件,将可执行文件从位图文件中还原并执行。IE在浏览网页时会将网页中嵌入的媒体文件下载到一个缓存目录中,这个缓存目录可以从注册表中得到,其位置是:
HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders/Cache
使用脚本对象WScript.Shell的RegRead方法可以很方便地得到这个目录,这样就可以找到我们的假位图文件,当然为了防止缓存目录中存在重名文件的问题,可以为我们的假位图文件适当地取一个长一点的比较怪异的名字。找到浏览器自动下载的假位图文件之后就可以从假位图文件中还原出我们的可执行程序,不过在IE的缓存目录中直接操作文件会引起Windows系统的警告,所以还要将伪装的位图文件复制到系统的临时目录中执行还原操作。直接操作二进制文件并不是VB Script的特长,并且通过Scripting.FileSystemObject对象操作二进制文件会引起防病毒软件的警觉,但是使用Scripting.FileSystemObject操作文本文件一般不会引起防病毒软件的注意,所以我们可以结合Win-DOS的批处理文件和DEBUG命令巧妙地解决这个问题。Win-DOS批处理文件是一个由DOS命令组成的文本文件,类似于Unix/Linux的Shell程序,其文件扩展名为.bat,我们生成的这个批处理文件要完成以下几个任务:将假位图文件从IE缓存目录拷贝到Windows的临时目录中,从假位图文件中还原出可执行文件,删除临时文件,将还原出的可执行程序拷贝到Windows的系统目录中,删除临时目录中的假位图文件以及最后运行还原出的可执行程序。只有还原出可执行文件的操作麻烦一点,其他的操作都可以用copy和del命令完成,所以我在下一段重点讲解如何不使用Scripting.FileSystemObject对象从假位图文件中还原可执行文件的操作。
还原可执行文件需要另外一个DOS命令:Debug,Debug是一个功能强大的调试工具,它有很多子命令,可以将二进制文件映射到内存中,也可以将内存中的数据写入文件,我们就利用这个特性完成可执行程序文件的还原工作。Debug命令的w子命令可以将二进制文件在内存中的映射的部分或全部写回到文件中,使用w子命令时BX寄存器存放要写入数据大小的高16位,CX寄存器存放写入数据大小的低16位,这个写入数据的大小就是我们嵌入假位图文件中的可执行文件的大小。使用w子命令要指定写入数据开始位置的偏移量,也就是要跳过假位图文件的头结构和位图信息头结构。现在举一个例子,假设嵌入假位图文件的可执行文件大小是143562字节,换算成16进制就是230C9H,位图头结构加位图信息头结构共54个字节,换算成16进制就是36H,这时Debug命令序列可以这样写:
debug ../假位图文件的位置/fakefile.bmp //装入假位图文件
-rbx
-2//显示BX寄存器的值并修改成2
-rcx
-30C9//显示CX寄存器的值并修改成30C9
-w136//从36H处开始写回文件
-q//退出Debug命令
此时假位图文件fakefile.bmp的大小是143562字节,其内容就是可执行文件,将其更名为fakefile.exe并拷贝到系统目录就可以执行了。
以上就是对这种方法的完整描述,可以看出来,这是一种非常危险的方法,网页制作者可以不经允许在访问者的计算机上执行非法程序,甚至可以使用Del,Deltree,Format等DOS命令破坏用户的文件系统。虽然这种方法设计的很巧妙,能够骗过防病毒软件,貌似很厉害,其实也很容易防范。该方法的重点在脚本代码方面,只要卸载Windows的脚本调试器就可以阻断脚本代码的执行,如果是Windows 95/98.Me的用户,可以将Windows 的Command目录下的Deltree.com、Format.com、Debug.com、Fdisk.exe这几个命令程序改个文件名就可以防范脚本代码通过Win-DOS的批处理文件执行这些命令。

分享到:
评论

相关推荐

    ie静默卫士 拦截任何通过ie启动的程序

    在网络安全领域,这种防护工具对于防止病毒、木马和其他恶意软件利用IE浏览器的漏洞入侵用户系统至关重要。 IE浏览器是历史上最早的、广泛使用的网页浏览工具之一,由于其市场份额大,往往成为黑客攻击的目标。他们...

    IE恶搞器(可以改英语大厅的数据)

    在这个上下文中,"IE恶搞"可能意味着该软件利用了IE浏览器的漏洞或弱点,允许用户非法篡改特定网站的数据。这涉及到网络安全和道德问题,因为篡改在线分数可能会误导他人,破坏公平性,甚至触犯法律。 标签中的“IE...

    计算机应用技术(实用手册)

    这里的IDE设备包括了IDE硬盘和IDE光驱,第一、第二组设备是指主板上的第一、第二根IDE数据线,一般来说靠近芯片的是第一组IDE设备,而主设备、从设备是指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接...

    IE11离线安装包含补丁包

    在IT领域,Internet Explorer 11(简称IE11)是微软开发的最后一个版本的传统型Web浏览器,它对于那些仍需使用此平台的企业和用户来说至关重要。IE11离线安装包的设计目的就是为了让用户在没有网络连接的情况下也能...

    电力公司变电运行初级工试题之计算机技术56题.doc

    - Excel具备插入图片、图表等多种多媒体元素的功能,这使得它不仅仅是一个简单的电子表格处理工具,更是一个强大的数据分析和展示平台。 - Excel能够与Word等其他办公软件进行数据交换,实现了不同应用程序之间的...

    IIS6.0 IIS,互联网信息服务

    最后,关键一步还有就是将你的电脑变为网络中的一台服务器,所以你要在你的电脑中装上一个合适的代理服务器软件并运行。 二、本部分常见问题解答 Q:如何修改FTP服务器登录成功或退出时的系统提示信息? A:在相应...

    IE keylogger

    键盘记录器,也称为键击记录器或键盘截取器,是一种软件程序,能够捕获并记录用户在计算机上敲击键盘的所有字符。这些记录的数据可以用于各种目的,包括但不限于: 1. **家长控制**:家长可以通过键盘记录器了解...

    Google Chrome 6.0.451.0 Dev 版(一个由Google公司开发的网页浏览器)

    自那以来,谷歌又不断强化这款浏览器的功能,甚至在未能取得互联网连接的情况下,用户也能够通过这款浏览器来运行程序。  对于谷歌而言,究竟要花费多长时间才能将Chrome发展为一款全能型的操作系统目前仍然...

    服务器维护

    此外,避免使用IE浏览器在服务器上访问网站,因为IE浏览器过去和现在都存在各种安全漏洞,容易受到攻击。使用更安全的浏览器或设置专门的web应用服务器,可以减少安全风险。 服务器系统日志是监测和分析安全事件的...

    2014广西信息技术与信息安全公需科目考试试卷(201题无重复保过版).pdf

    电子邮件的安全问题也是信息安全的重点,试题提到了网页恶意代码利用IE浏览器的漏洞进行攻击,提醒用户要防范此类威胁。此外,电子邮件协议如SMTP、POP3和IMAP4是电子邮件收发的基础,了解其工作原理能增强电子邮件...

    dsoframer.ocx 开发控件

    总之,dsoframer.ocx 是一个强大且灵活的开发工具,尤其在需要在应用程序中处理和打印文档的场景下,它可以极大地简化开发过程,提升应用功能。正确理解和使用这款控件,可以帮助开发者高效地实现复杂的功能需求。

    windows 2003 域服务器部署方案

    此外,一些恶意软件利用TCP/IP协议的漏洞进行传播,进一步加剧了网络安全风险。 3. **恶意代码植入**:部分网站会通过恶意代码强制安装搜索引擎插件、广告插件等,这些插件会消耗大量系统资源,导致计算机运行缓慢...

    精品专题资料(2021-2022年收藏)国家信息化培训网络安全考试题.doc

    1. TELNET协议:应用层协议,用于远程登录,允许用户在一台计算机上操作另一台远程主机。 2. 数据包过滤系统:这种系统遵循最小特权原则,只允许必要的服务请求进入,防止不必要的服务带来安全隐患。 3. 安全策略...

    信息技术和信息安全公需科目考试第1套试题(卷)(满分通过).doc

    例如,IE浏览器在过去曾存在多个安全漏洞,攻击者可以通过这些漏洞在用户的电脑上植入恶意代码,从而控制用户的浏览器或者窃取敏感信息。 ### 信息安全风险评估 信息安全风险评估是一项关键的安全活动,用于识别、...

    QQ病毒木马专杀工具(QQKav) 2012 元旦版.zip

    用户打开过的程序或文件,浏览过的网站,欣赏过的电影和音乐等等都会在电脑中留下痕迹,稍不留意就有可能被别有用心之徒加以利用。使用这一功能可以清除以上所有有关用户操作电脑的历史痕迹,保护您的隐私不被泄漏。...

    《新手学黑客攻防》┊神龙工作室[.PDF]

    黑客一般通过系统漏洞和远程控制技术对用户电脑进行攻击和控制,在此过 程中,密码起着重要的防范作用。 4.1 密码攻防 88 4.1.1 认识加密技术 88 1. 加密技术的定义 88 2. 加密技术的分类 88 3. 常见的加密算法 89 ...

    Syngress - Vista for IT Security Professionals

    - **Network Access Protection (NAP)**: NAP是一项重要的安全功能,它可以确保只有符合安全策略的计算机才能连接到网络。 - **Internet Explorer 7的安全增强**: - **基本浏览器行为**: IE7增强了对浏览器漏洞的...

    Server 2008 安全配置教程

    - **原理:**通过修改组策略来限制ICMP协议,防止恶意用户利用Ping命令进行DoS攻击。 - **步骤:** 1. **打开组策略编辑器:**使用`gpedit.msc`命令。 2. **导航至防火墙设置:**依次选择“计算机配置”→...

    网吧维护技术资料 合集

    484 网吧维护\资料\XP中不能正常IE浏览不正常一例.TXT 10790 网吧维护\资料\XP优化.TXT 3638 网吧维护\资料\xp实用技巧\Win XP 键盘快捷键概述.txt 5851 网吧维护\资料\xp实用技巧\Win XP中的网桥.txt 1226 网吧维护...

Global site tag (gtag.js) - Google Analytics