漏洞攻击技术论文
漏洞攻击技术论文 漏洞攻击技术论文篇一 计算机系统漏洞攻击及防范研究 摘要:随着互联网的迅速发展,系统漏洞攻击已成为了一种最广泛的 攻击方式,该文对计算机系统漏洞攻击进行了分析,并提出了病毒防范的建议, 从而达到提高计算机用户安全工作环境的目的。关键词:系统漏洞;漏洞攻击;防范 中图分类号:TP393 文献标识码:A 文章编号:
1009-3044(2015)27-0035-02 Abstract:
With the rapid development of the Internet, the system has become the most widely used attack mode, this paper analyzes the computer system vulnerabilities, and puts forward some suggestions to prevent the virus, so as to achieve the purpose of improving the safety working environment of computer users. Key words:
system vulnerability;
vulnerability attack;
prevention 1 引言 随着互联网的迅速发展,人们在工作和生活中也越来越依赖于网络, 这对病毒的传播提供了更快、更广的途径。计算机病毒不仅是对计算机系统造成 危害,而且对计算机用户的隐私数据信息造成威胁,因此每一位计算机用户都应 该对计算机病毒有所了解,掌握基本的病毒防御措施,提高自己的网络安全意识。
2 系统漏洞攻击介绍 计算机系统漏洞是指在硬件、软件及协议的实现中存在的缺陷,黑客 利用这种缺陷产生相应危害的攻击。随着互联网的快速发展,计算机的广泛应用, 操作系统的漏洞已经被越来越多的黑客所利用,计算机遭受的攻击也越来越频繁。
系统漏洞主要分为缓冲区溢出漏洞和内存损坏漏洞。缓冲区溢出漏洞是最常见、 最典型的漏洞之一,缓冲区是一个有限的数据存储区域,当某个程序存储于缓冲 区的数据大于缓冲区的容量时就会发生溢出,溢出的数据到相邻的内存地址,病 毒制造者就会利用这种漏洞,对接收数据的缓冲区长度进行计算分析,从而将自己的病毒代码程序放在发送的数据后面,覆盖的数据正是病毒代码的地址,当操 作系统程序执行完毕返回时就会执行病毒代码,造成危害。像“红色代码”、“冲 击波”等病毒就是利用该漏洞来攻击计算机。内存损坏漏洞是由已经释放的内存 块被重新使用所造成的。特别是在使用微软COM技术时,如果使用对象不加以 引用,就很容易造成内存的破坏,导致软件异常而无法继续执行。
2.1 MS08-067漏洞分析 MS08-067是一个具有主动暴露性的高危漏洞,可以造成“远程执行代 码”的后果,非常的适合制作网络蠕虫。MS08-067漏洞位于netapi32.dll中,其中 NetpwpathCanonicalize()函数在解析路径名时存在堆栈上溢的问题,攻击者利用 这点来构造路径参数来覆盖函数的返回地址,从而来执行远程代码。攻击者也可 以通过RPC发送请求,使svchost.exe产生远程溢出。
以netapi32.dll为例来分析漏洞形成的原因。
从图1中可知,Netapi32.dll!netpwpathcanonicalize函数通过内部函数 Canonicalizepathname来处理传入的路径,在Canonicalizepathname函数中出现漏 洞溢出。该函数首先把路径中的“/”转换成“¥”,然后修改传入路径缓冲区来得到 相对的路径。在处理相对路径时,使用两个指针分别指向前一个斜杠和当前的“¥”, 当扫描到“…¥”时,复制从Currentslash开始的数据到Prevslash开始的空间,然后 从当前的Prevslash指针减1的位置开始向前搜索来重新定位Prevslash,函数的处 理过程如图2所示。
当完成对’…¥’的替换,缓冲区的内容为’¥a’。依照函数的算法, Prevslash减1并开始向前搜索,Prevslash已经向前越过了路径缓冲区的起始地址, 导致该函数向堆栈的低地址上溢出,攻击者就可以通过传入已构造的路径数据覆 盖掉函数的返回地址来执行代码。
2.2 ARP协议安全漏洞分析 ARP协议的基本功能是通过目的设备的IP地址来查询目的设备的 MAC地址从而保证数据通信的正常进行。ARP攻击通过伪造IP地址和MAC地址 来实现ARP欺骗,在网络中产生大量的ARP通信数据量来使网络阻塞,进行ARP 的重定向和嗅探攻击。利用伪造的MAC地址发送ARP响应数据包,实现对ARP 高速缓存的攻击。当局域网内的某台主机运行了ARP欺骗程序时,就会欺骗到局域网内 的所有主机和路由器,让上网的流量都必须通过病毒的主机,从而窃取用户的信 息,上网速度也会变慢。由ARP病毒引起的ARP欺骗,中毒的机器会发送虚假的 ARP应答包进行ARP欺骗,从而使其它客户机不能获得真实的MAC地址,导致 无法上网进行正常的数据通信。病毒的样本由三个组件构成,分别 为%windows%¥system32¥loadhw.exe病毒组 件;%windows%¥system32¥drivers¥npf.sys发ARP欺骗包的驱动程 序;%windows%¥system32¥msitinit.dll命令驱动程序发ARP欺骗包的控制者。ARP 病毒的运行过程是:首先,LOADHW.EXE执行时会释放npf.sys和msitinit.dll两个 组件;
随后npf.sys和msitinit.dll注册为内核级驱动设备:”Netgroup Packet Filter D riner”,msitinit.dll还负责发送一些指令,如发送ARP欺骗包、抓包等指令来操作 驱动程序npf.sys;
npf.sys负责监护msitinit.dll,并将LOADHW.EXE注册为自启动 程序:
[HKEY_LOCAL_MACHINE¥SOFTWARE¥MICROSOFT¥WINDOWS¥CURREN TVERSION¥RUNONCE] DWMYTEST =LOADHW.EXE. 3 漏洞防范措施 系统软件越来越复杂,漏洞也随之越来越多,所受到的攻击也越来越 严重,为了创建一个安全健康的操作环境,可以从几个方面来防范,尽可能地阻 止外来的攻击。
(1) 对计算机系统漏洞有一个基本的认识,养成定期升级、打补丁的 良好习惯。
(2) 用户可以在“开始”菜单中的“Windows update”选项中经常关注最 新的更新信息。
(3) 利用任务管理器查看有无异常的程序,及时关闭占用大量内存或 CPU时间的服务程序,经常查杀毒。
(4) 对注册表进行备份,或者下载注册表修复程序,一旦发现异常立 刻进行修复。
(5) 关闭不需要的系统服务,可以通过“控制面板”――“管理工具”――“服务”来启动服务管理器,根据需要关闭一些不用的服务程序,比如RPC 服务。
4 结语 文中仅仅对MS08-067漏洞和ARP协议安全漏洞两种类型的攻击进行 了分析,但由于计算机用户所使用的系统及一些主流的路由器防火墙软件都存在 着安全漏洞,造成了黑客进行不同类型的攻击,产生巨大的危害。只有全面提高 计算机用户的病毒分析与病毒防御技术能力,才能使计算机系统遭受攻击的可能 性降低,危害降为最小。
漏洞攻击技术论文篇二 基于PHP安全漏洞的Web攻击防范研究 【 摘 要 】 文章以PHP语言为例对跨站脚本漏洞、文件上传漏洞的 常见攻击进行了较为详细的分析并给出了相应的防范措施,以此为基础,总结出 了Web应用程序安全漏洞产生的一般原因和开发安全Web应用的一些建议。
【 关键词 】 Web漏洞;Web攻击;Web安全;PHP安全 1 引言 由于PHP语言是目前开发各种Web应用程序的首选语言之一。文章就 以PHP语言为例,通过对跨站脚本漏洞攻击和文件上传漏洞攻击及其防范措施进 行较为详细的阐述,以此总结出在开发Web应用程序时,开发人员需要注意的一 些问题及其采取的措施。
2 常见Web应用程序安全漏洞攻击实例分析及其防范措施 基于PHP技术开发的Web应用程序主要存在如下一些针对安全漏洞 方面的攻击:命令注入攻击、eval注入攻击、客户端脚本攻击、跨站脚本攻击、 SQL注入攻击、跨站请求伪造攻击、session会话劫持攻击、session固定攻击、http 响应拆分攻击、文件上传漏洞攻击、目录穿越漏洞攻击、远程文件包含攻击、动 态函数注入攻击、url攻击、欺骗表单提交攻击、http请求欺骗攻击等,限于篇幅, 下面选择两个具有代表性的常见安全漏洞攻击来做详细分析。2.1 跨站脚本攻击 跨站脚本XSS(Cross Site Script)漏洞攻击是指攻击者向Web页面里插 入恶意html代码,当用户浏览该页面时,插入其中的恶意html代码被执行,从而 达到特殊目的。
(1)跨站脚本攻击实例分析 针对跨站脚本漏洞进行的攻击方式多种多样,本文仅举一例。
假设某BBS论坛有一个发帖页面,如图1所示。
其采用了表单方法以帮助提交数据,表单的主要html代码如下:
从上面的代码可以看出,程序对于$Title及$Content的值给予了充分的 信任,但这种信任是毫无根据的。试想,若Title和Content这两者其中之一的内容 如下所示:
以上输入相当于在网页源程序中加入了Javascript代码,可以将登录用 户的cookies发送到http://cheat.evil.org,然后由hook.php利用$_GET["cookies"]变 量就可以得到所有登录用户的cookies了。
(2)上述跨站脚本攻击之防范对策 以上漏洞主要是未对输出到浏览器的数据进行转义造成的,为了避免 上述情况的发生,可以采用如下的方式显示已发表的帖子:
通过函数htmlentities()将输入中可能包含的html标签转换成了html实 体(即编码形式),从而避免了上述攻击的发生。
2.2 文件上传漏洞攻击 由于文件上传功能的实现代码没有严格限制用户上传的文件类型,导 致攻击者可以向通过Web访问的目录上传任意PHP文件,并能够将这些文件传递 给PHP解释器,这样就使得攻击者可以在远程服务器上执行任意的PHP脚本,这 就是所谓的文件上传漏洞攻击(File Upload Attack)。
(1) 文件上传漏洞攻击实例分析如图2所示,是一个文件上传界面。
其表单的html代码如下:
如果实现文件上传功能的PHP代码为:
上述PHP代码虽能实现文件的上传,但这只是对中规中矩的用户来说 的,如果碰到恶意攻击者,问题就不一样了。因为上述PHP代码未对上传的文件 类型进行检查,导致用户可以上传PHP文件,所以存在着明显的漏洞。
(2) 文件上传漏洞攻击防范措施 为了避免上述文件上传漏洞的发生,可以采取如下防范措施,步骤如 下:
1)对上传文件的类型进行检查,比如我们需要用户上传的文件是jpeg 图片格式,则可以增加如下代码检查上传的文件的类型是否是jpeg图片格式:
2)由于PHP是在文件系统的临时文件区保存上传文件的,使用函数 is_uploaded_file()可以判断临时文件区的文件是否是一个上传的文件,这样可以 确保恶意的用户无法欺骗脚本去访问本不能访问的文件,代码如下:
3)最后可以用函数filesize()来校验文件的大小。
通过增加以上3个步骤,文件上传漏洞攻击发生的可能性大大降低了, 最终的文件上传代码如下:
3 结束语 以上以PHP语言为例对两个常见Web应用程序安全漏洞的攻击及其 防范对策做了较为详细的分析。第一个安全漏洞攻击,即跨站脚本漏洞攻击,是 通过对输出到浏览器的数据进行转义来进行防范的。第二个安全漏洞攻击,即文 件上传漏洞攻击是通过对输入的数据(此例中为上传的文件)进行一系列检查来 进行防范的。在此不难看出,作为一个Web应用程序的开发人员,一定不能够相 信用户的任何输入,对用户的任何输入都要进行过滤、检查,除此之外,系统的 输出数据有时也会被黑客所利用,跨站脚本攻击就是一个很明显的例子。
综上所述,要确保开发出的Web应用较为安全,一定要遵循以下两个原则:第一,对于用户的任何输入,都要进行过滤,确保进入系统的数据是干净 无污染的数据;第二,对于系统的输出,要进行转义,确保黑客无法利用输出的 数据推断系统实现细节并进行攻击。