【实验目的】
(1)了解系统溢出攻击的基本原理。
(2)了解系统溢出攻击过程。
【预备知识】
(1)了解Windows的基本使用知识。
(2)理解溢出及溢出攻击的相关概念。
【实验原理】
缓冲区是用来存储用户输入的数据的,它的长度是被事先设定好的。如果用户输入的数据超过了缓冲区的长度,那么就会溢出。而这些溢出的数据就会覆盖在合法的数据上,这就像杯子装水的道理,水多了杯子装不下,当然就会溢出。当缓冲区溢出时,过剩的信息对计算机内存中原有内容进行完全替换,如未进行备份,用户的内容就永远丢失了。理想的情况是程序检查数据长度,并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患。“溢出攻击”在对缓冲区中的文件进行替换的同时,还会执行一些非法程序,从而得到命令行下的管理员权限,之后攻击者再通过命令行建立管理员账号,对计算机进行控制。
在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害有两种:一种是程序崩溃导致拒绝服务;另一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。
【实验环境】
局域网,实验终端需安装WebDAVx3。
【实验工具】
溢出攻击工具WebDAVx3。
【实验用时】
30分钟/实例。
【实验过程与步骤】
(1)利用WebDAVScan扫描出存在漏洞的主机,如图3.2.1所示。
(2)从开始菜单中运行“webdavx3.exe”,如图3.2.2所示。
图3.2.1 扫描漏洞主机
图3.2.2 运行webdavx3(www.xing528.com)
(3)按要求输入命令,对主机192.168.0.137进行攻击,如图3.2.3所示。
(4)利用CTRL+C中断任务,如图3.2.4所示。
图3.2.3 对目标主机进行攻击
图3.2.4 中断任务
(5)按照提示,telnet连接被攻击主机的7788端口,如图3.2.5所示。
(6)telnet连接成功,且不需要输入用户名和密码,如图3.2.6所示。
图3.2.5 telnet连接7788端口
图3.2.6 telnet连接成功
(7)查看网络相关信息,确定已经在主机192.168.0.137上,如图3.2.7所示。
(8)输入命令,作用是给guest用户添加密码“guest”(命令在输入时不显示,需要盲打,回车两次后才可看到),如图3.2.8所示。输入命令,作用是把账户“guest”添加到Administrator组中,如图3.2.9所示。
图3.2.7 查看网络信息
图3.2.8 为guest账户添加密码
图3.2.9 添加到Administrator组
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。