2016 - 2024

感恩一路有你

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

浏览量:4899 时间:2024-06-11 20:08:20 作者:采采

实验环境

实验环境如图5-21所示。入侵者(192.168.1.20):对192.168.1.2028进行缓冲区溢出攻击。被入侵者(192.168.1.2028)是开启DNS服务的所有版本的Windows 2000 Server或Windows 2003 Server SP1,在本次测试中使用Windows 2003 Server SP1。

缓冲区溢出攻击过程

第1步:入侵者下载并且执行dns.exe命令。入侵者从网上下载dns.exe工具,可以通杀Windows 2000 Server、Windows 2003 Server SP1系统,将其复制到C:Documents and SettingsAdministrator,在DOS窗口执行dns.exe命令。

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

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

第4步:成功入侵。执行telnet 192.168.1.2028 1100命令,结果显示已经成功入侵对方的电脑,并且得到了管理员的权限。

第5步:在被入侵电脑上执行操作。

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

第6步:创建用来下载的VBS脚本tony.vbs。

第7步:在入侵者的电脑上上传wrsky.exe。

第8步:在被入侵电脑上下载wrsky.exe。

第9步:在被入侵电脑执行wrsky.exe命令。

第10步:重新设置被入侵电脑的管理员密码。

第11步:打开被入侵电脑的远程桌面服务。

第12步:远程桌面连接被入侵计算机。

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

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

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。