缓冲区溢出基础与实践
1、登录到实验机上。
2、查看可引起缓冲区溢出的代码。
阅读一段C语言代码,思考下这些代码是否存在问题,代码如下:
/*
*buffer.c
*/
#include <stdio.h>
int main()
{
char name[8];
printf(“Please input your name: ”);
gets(name);
printf(“your name is : %s!”, name);
return 0;
}
3、切换到命令行。
点击开始->运行,输入cmd后进入命令行

4、测试缓冲区溢出。
在系统命令行下,切换到C盘的根目录下,使用dir命令查看,其中buffer.exe为本任务的实验程序:

在提示符下输入buffer运行程序,输入bjhit,发现程序正常运行

继续进行测试,输入my name is bjhit,这时候程序出现异常

任务二:利用溢出工具溢出目标系统,获取目标系统shell
在cmd下切换到C:\目录下,查看该目录下的文件,可以看到有个文件dns.exe,这个文件即是我们本次实验的溢出工具。

运行dns.exe工具,仔细查看使用说明:

按照使用说明扫描目标主机。

仔细观察返回结果与说明。
按照说明对目标主机进行溢出

仔细观察返回结果说明。
使用telnet与远程主机建立连接。


输入ipconfig /all 命令查看目标主机信息,看是否拿到目标主机shell。

任务三:利用MS12-020漏洞溢出目标系统,使目标系统瘫痪
1、运行Metasploit console。

2、对目标主机进行信息收集。
在msf>提示符下输入命令:db_nmap -sT -p3389 10.1.1.2, 收集目标主机信息,并对返回的信息进行分析。

可以看到目标主机的相关信息,如操作系统为windows2003,开放了3389远程桌面等等。
搜索一下这个漏洞的利用模块:search ms12_020

3、利用ms12_020漏洞,对目标机进行攻击。
在msf命令提示符下,
输入use auxiliary/dos/windows/rdp/ms12_020_maxchannelids命令,并设置相关的参数

使用exploit命令进行利用,查看攻击结果

ping 目标主机,查看主机是否瘫痪。
ping 10.1.1.2



浙公网安备 33010602011771号