- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
山东大学信息安全实验报告
山东大学 软件 学院
信息安全导论 课程实验报告
学号:201300301385 姓名: 周强 班级: 2013级八班 实验题目:缓冲区溢出实验 实验学时: 日期: 实验目的:
(1)了解缓冲区溢出的原理
(2)利用缓冲区溢出现象构造攻击场景
(3)进一步思考如何防范基于缓冲区溢出的攻击
硬件环境:?
软件环境:
WindowsXP操作系统
VS2008
实验步骤与内容
(1)了解缓冲区溢出的原理
缓冲区溢出简单来说就是计算机对接收的输入数据没有进行有效的检测(理情况下是程序检测数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。
看一个代码实例,程序如下:
void function(char *str) {
char buffer[16];
strcpy(buffer,str);
}
上面的strcpy()将直接把str中的内容copy到buffer中。这样只要str的长度大于16,就会造成buffer的溢出,使程序运行出错。
(2)利用缓冲区溢出现象构造攻击场景
首先打开Microsoft Visual C++,新建工程和cpp文件,复制实验指导书的代码进行编译连接:
单击运行按钮,然后第1次输入“zhouqianga”,第2次输入2个“ga”,即可看到输出“correct”。
按F10开始进行逐步调试:
当第一次执行gets()函数之前,内存情况如下图所示
在最新的版本中gets被认为是不安全的,gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。现在都被要求改为get_s。来防止溢出。
如下图所示。
(3)学习例子程序2:数据被执行
在xp系统下,直接运行Exploit-1.1.exe,如下图所示:
但是在计算器下输入数字后,将计算器关闭,会出现如下对话框:
当程序返回时,改变了程序入口地址,让其跳转并且执行cmd.exe calc.exe两个程序(打开计算器)并执行abc.bat批处理程序。
abc.bat程序中为创建新用户的代码。
@net user abc 123 /add nul
@net localgroup administrators abc /add nul
分析最近的软件更新对防缓冲区溢出的支持
1、iOS 4.3.4 软件更新
CoreGraphics
适用于:适用于 iPhone 3GS 和 iPhone 4(GSM 机型)的 iOS 3.0 到 4.3.3、适用于 iPod touch(第 3 代)和更新机型的 iOS 3.1 到 4.3.3、适用于 iPad 的 iOS 3.2 到 4.3.3
影响:查看恶意制作的 PDF 文件可能会导致应用软件意外终止或任意代码执行
说明:FreeType 在处理 TrueType 字体时存在缓冲区溢出。查看恶意制作的 PDF 文件可能会导致应用软件意外终止或任意代码执行。
CVE-ID
CVE-2010-3855
iOS 5 软件更新
ImageIO
适用于:适用于 iPhone 3GS 和 iPhone 4 的 iOS 3.0 到 4.3.5、适用于 iPod touch(第 3 代)和更新机型的 iOS 3.1 到 4.3.5、适用于 iPad 的 iOS 3.2 到 4.3.5
影响:查看恶意制作的 TIFF 图像可能会导致应用软件意外终止或任意代码执行
说明:libTIFF 在处理 CCITT 组别 4 编码的 TIFF 图像时存在缓冲区溢出。
CVE-ID
CVE-2011-0192:Apple
(5)进一步思考如何防范基于缓冲区溢出的攻击
1、关闭不用的端口或服务
2、安装软件厂商的补丁
3、在防火墙上过滤特殊的流量
4、自己检察关键的服务程序
5、用所需要的最小权限来运行软件
结论分析与体会:
在这次的实验中,我了解并学习了缓冲区溢出的原因及危害。缓冲区溢出漏洞易被利用形成缓冲区攻击,会导致运行失败,系统关机,重新启动,或者执行攻击者的命令。为了有效防范这种漏洞,我也特意去查了相关资料,有效防范这种漏洞,一方面开发者在开发阶段就要注意编写正确的代码,另一方面,用户要及时更新软件厂商的补丁,以所需要的最小权限来运行程序。
原创力文档


文档评论(0)