- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件安全实验第三次实验报告
软件安全第三次实验报告班级:2010211316 学号 姓名:曹梦晨1、目标了解shellcode注入原理理解给出的弹出对话框的汇编代码通过淹没静态地址来实现shellcode的代码植入通过跳板来实现shellcode的代码植入尝试修改汇编语句的shellcode实现修改标题等简单操作作业要求:详述修改过程实验结果需要截图证明绘制修改原理的图示思考题通过跳板的方式,修改StackOverrun程序的流程,使其实现弹出对话框、启动notepad.exe并打开文本shellcode.txt(可使用CreateProcessA或WinExec等API)。2、测试步骤与结果2.1 使用静态地址跳转注入shellcodeStep1:首先建立一个新Win32 Console Application工程,命名为m_overflow。图2-1 建立m_overflow工程Step2:使用Depends.exe进行运行程序剖析接下来将m_overflow.exe使用该软件剖析,尝试寻找MessageBoxA和exitprocess的入口地址:图2-2 进行函数入口点分析首先在kernel32.dll中寻找exitprocess函数的入口点:图2-3 寻找exitprocess函数的入口点这里可以看出,kernel32.dll的入口地址为0而exitprocess的入口地址为0x005BBE2。然后将这两个地址相加得到exitprocess的入口地址为:0x7787BBE2。同理,在user32.dll中寻找MessageBoxA的入口地址:图2-4 寻找MessageBoxA函数的入口点这里可以看出,user32.dll的入口地址为0而exitprocess的入口地址为0x005EA11。然后将这两个地址相加得到exitprocess的入口地址为:0x773CEA11。Step3:接下来建立一个新Win32 Console Application工程,命名为m_shellcode。图2-5 建立m_shellcode工程把里面两个函数的入口地址改为刚才计算所得值,然后尝试运行程序,观看对话框是否正常弹出:图2-6 程序运行结果示意图Step4:使用olydbg获取shellcode将带有shellcode的m_shellcode.exe文件使用olydbg分析,获取弹对话框部分的shellcode:图2-7 使用olydbg定位到shellcode图2-8 将shellcode内容另存为文件图2-9 查看保存到的shellcodeStep5:寻找需要注入shellcode的起始地址用VC6调试之前生成的m_overflow.exe,并在目录下添加password.txt,定位到strcpy代码行,可以发现需要注入的地址:图2-10 获取shellcode注入地址这里可以看出,shellcode是要会复制到变量buffer中的,而buffer的地址为0x0012fab8,即我们shellcode要注入的地址。Step6:构建password.txt以注入shellcode这里突然想起来自己的shellcode中存在0x00[‘\0’],为了shellcode不被截断,将0x00调整为0x02,对打印的字符串不影响。图2-11 构造带有shellcode的password.txtStep7:执行程序观察shellcode注入效果图2-12 观察shellcode注入效果这里可以看出,password中的内容已经成功拷贝到buffer中,接下来观察程序的跳转情况:图2-13 观察shellcode注入效果(2)这里可以看出,将函数的返回地址覆盖后,程序成功跳转到了shellcode上,最后程序成功弹出对话框:图2-14 观察shellcode注入效果(3)2.2 使用跳板注入shellcodeStep1:在上述实验的基础上,继续使用olydbg分析m_overflow.exe图2-15 搜索jmp/call esp语句地址使用olydbg打开要分析的m_overflow.exe,搜索jmp/call esp语句的地址,这里可以发现已经找到了不止一条信息。接下来通过日志功能查看具体的语句地址:图2-16 定位一条call esp语句地址这里选择了其中一条在kernel32.dll中的call esp语句,对应地址为77874EBF。Step2:依据跳板地址构造password.txt图2-17 使用UE进行password.txt编辑由于刚才重启了下电脑,又由于是在win7下做的实验,所以所有的地址都变了,这里先重新定位了一条jmp esp,地址为0x777D4EBF。然后重新定位e
您可能关注的文档
最近下载
- 迅达3300AP电气原理图(中文精简版).pdf VIP
- (精品)《雨人》中英文台词剧本完整版.docx VIP
- 2025-2026学年初中美术八年级上册(2024)岭南版(2024)教学设计合集.docx
- 上市公司应对证券民事索赔100问.pdf VIP
- 【继续教育】水质PH(每日一练).pdf VIP
- Lenovo联想 服务器 ThinkServer TS560 说明书.pdf
- Q/GDW 364-2009《单相智能电能表技术规范》及编制说明.doc VIP
- 社会保障学 高教版 第16章--扶贫开发.ppt VIP
- 《2和5的倍数的特征》省公开课一等奖全国示范课微课金奖PPT课件.pptx VIP
- 甜梦口服液与丁螺环酮治疗广泛性焦虑症的疗效对比.PDF VIP
文档评论(0)