- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
3.1堆溢出实验
一、实验目的及任务
1、学习溢出工具的代码构成。
2、学习堆溢出的原理。
二、实验环境
1、本地主机或Windows实验台
2、实验工具:溢出演示工具、os命令行、C语言编译器
三、实验方案/过程
使用自己的笔记本完成的下面实验:
输入长度为30字节的字符串时,效果如下:
输入长度为32字节的字符串时,效果如下:buf2读到buf1的\0,报错
输入字符串的长度为大于32个字节和额外的字符串hostility,buf1一直读到hostility\0,buf2在遇到hostility\0就认为结束,覆盖了原来的文件名。
四、思考题
1、解读程序正常运行后的结果。
yingfile文件中成功写入输入的字符串,buf2正常显示文件名
2、解读发生了溢出的程序运行结果,分析原因。
输入字符串长度为32字节时,buf2读到buf1的\0,认为内容为空,无法正常打开文件。
输入字符串长度为32字节和hostility后,buf1在hostility后才找到\0,buf2读到buf1溢出的\0后文件名被修改。
五、实验总结及收获
本次实验我遇到的第一个问题是根据自己的代码没有正常模拟堆溢出的效果,在查阅资料并理解代码逻辑后,我发现大概率是由于自己笔记本中装的devc++的版本与代码中的使用不匹配导致无法正常溢出,通过在自己的笔记本中卸载32位并重装的64位的devc++版本重新运行后成功实现指导书中描述效果。
通过本次实验,我对堆溢出有了更深刻的理解,能够自己分析是否会溢出及溢出的结果,也对C语言中学习的知识进行了串接,换行符会被解析为\0而字符数组会在遇到\0时认为结束,这便是溢出会造成的原因。
3.2栈溢出实验
一、实验目的及任务
1、利用栈溢出修改变量值。
2、利用栈溢出修改函数返回地址,运行恶意代码。
二、实验环境
1、Linux实验台(CentOS)
2、gcc和gdb工具
三、实验方案/过程
1、修改变量值
(1)新建0134p1.c文件
(2) 编辑0134p1.c文件
(3) 查看编辑结果:
(4) 生成可执行文件:
(5)运行执行文件
(6)输入11个字符制造栈缓冲区溢出,以修改x所在地址空间的值
(7)利用perl命令输入适当的字符串,将x的值修改为任意指定的值,运行
2、修改函数返回地址,运行恶意代码。
(1)新建0134p2.c文件,输入示例程序2,生成可执行文件0134p1.c
(2)运行可执行文件并查看结果,bar的函数入口地址为0(3)随意输入多个字符制造栈溢出
(4)构造输入字符串,修改foo函数的返回地址为bar函数的入口地址
四、思考题
1、指出程序1的栈结构:重点是buf和x的存储方式,分析溢出原理。
从栈底到栈顶的布局依次为main函数调用、funtion函数调用、传入参数str字符指针、buf[0]~buf[9]、x、返回地址
由于c语言中没有边界检查,buf长度为10,若输入长度大于10的字符会把x的值覆盖,如果继续放更多的字符甚至会覆盖funtion函数的返回地址。
2、指出程序2的栈结构:重点是foo返回地址有关的情况,分析溢出原理(可借助gdb命令)。
从栈底到栈顶的布局依次为main函数调用、foo函数调用、传入参数input、buf[0]~buf[9]、返回地址。
buf数组长度为10,如果数组输入超过10个字符由于c语言不检查溢出会把返回地址覆盖掉,第一次由于是随意输入的长度超过10的字符,只是提示段错误,第二次因为将bar函数的入口地址放在了溢出位置刚好把返回地址覆盖为bar函数的入口,就对程序进行了攻击。
五、实验总结及收获
本次实验遇到的主要问题是对程序二的第二个应用的分析,尽管自己在实验室的电脑中按照步骤实现了该效果,但是自己并不明白为什么bar函数没有被任何函数调用,但却执行了。在询问同学后解决了该问题,正是由于溢出把foo函数的返回值修改成了bar函数的入口地址才导致程序可以进到bar函数里面实施攻击。而这都建立在执行./0134p2AAAAA这条指令获取bar函数的入口地址和foo函数的返回地址上。
通过本次实验,我对函数的返回地址有了更深的理解,也提醒我在编程时应该尽可能选择有溢出判断的方法,避免被恶意用户通过溢出替换返回地址恶意攻击的问题。
您可能关注的文档
- 网络安全实验一.doc
- 网络安全实验四.doc
- 2025至2030宠物食品包装产业运行态势及投资规划深度研究报告.docx
- 2025至2030除冰盐行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030蚕丝被市场行业项目调研及市场前景预测评估报告.docx
- 2025至2030镀锌行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030电烤箱清洁剂市场行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030电子信息材料行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2025至2030电器产业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030成人助听器行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030车身传感器行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030肠胃外药物行业项目调研及市场前景预测评估报告.docx
- 2025至2030灯具行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2025至2030底部安装压力表行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030第三代测序行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030电饼铛行业项目调研及市场前景预测评估报告.docx
- 2025至2030赌桌行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030靶向药物输送系统行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030阿米卡星(CAS37517285)行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030财务管理软件行业产业运行态势及投资规划深度研究报告.docx
最近下载
- 2021年江苏富轩实业有限公司招聘试题及答案解析.docx VIP
- 部编版语文写字表六年级上册字帖.pdf VIP
- 3-3单螺杆挤出理论(熔融理论).ppt VIP
- 五指山建筑工程招标文件.doc VIP
- DTZ178 DSZ178三相智能电能表手册V502(国网表201107) 烟台东方威思顿电气.pdf VIP
- 3MW项目屋顶分布式光伏项目主要设备清单及报价 (1).xlsx VIP
- 北京市2025年小升初分班测试数学试题(含解析).docx VIP
- 2.美容师初级试题+答案(200题) 第二套.docx VIP
- 广东省高速公路工程施工安全标准化指南(第一册管理行为).pdf
- 外研社小学英语一起四年级下重点词汇及句子.pdf VIP
文档评论(0)