20169306《网络攻击与防范》第十周总结
缓冲区溢出漏洞试验
一、实验准备
输入命令安装一些用于编译32位C程序的东西
输入命令“linux32”进入32位linux环境。此时你会发现,命令行用起来没那么爽了,比如不能tab补全了,所以输入“/bin/bash”使用bash
二、实验步骤
关闭使用地址空间随机化来随机堆(heap)和栈(stack)的初始地址这一功能
设置zsh程序:
把以下代码保存为“stack.c”文件,保存到 /tmp 目录下。代码如下:
编译该程序,并设置SET-UID。命令如下:
我们的目的是攻击刚才的漏洞程序,并通过攻击获得root权限。
把以下代码保存为“exploit.c”文件,保存到 /tmp 目录下。代码如下:
结果如图:
接下来编译exploit.c程序:
先运行攻击程序exploit,再运行漏洞程序stack:
攻击成功。
课堂实验
1、攻击方使用nmap进行扫描
2、防守方使用tcpdump抓包
3、针对抓到的数据包利用Wireshark进行分析