软件安全实验次.pdfVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

软件安全实验第三次实验报告

2009211316

【实验目标】

1.了解shellcode注入原理;

2.理解给出的弹出框的汇编代码;

3.通过淹没静态地址来实现shellcode的代码植入;

4.通过跳板来实现shellcode的代码植入;

5.尝试修改汇编语句的shellcode实现修改标题等简单操作;

6.思考题:通过跳板的方式,利用perl,修改StackOverrun程序的流程,使

其实现弹出框、启动notepad.exe(CreateProcessA)等功能。

【测试步骤与结果】

1.实验环境:所有的调试过程都是在如下的环境中完成的:

实验使用的环境

操作系统WindowsXPSP2

编译器VisualC++6.0

编译选项默认编译选项

组建版本Debug版本

实验中的程序的细节、装载和运行过程忽略。

使用的文本编辑器为UltraEdit。

2.利用DependencyWalker打开overflow_exe.exe,查找MessageBoxA函数和

ExitProcess函数的地址。

ExitProcess函数是kernel32.dll的导出函数,首先查出kernel32.dll的加载基址是

0x7C800000,然后点击左上角显示框中的kernel32.dll查看导出函数的偏移地址,可以

查到ExitProcess函数的偏移地址是0x0001CAA2。所以函数最终的内存地址是

0x7C81CAA2。

由于我的DependencyWalker没有剖析的功能,所以直接把user32.dll给拖了进

去。User32.dll的加载基址为0x77D10000,MessageBoxA函数的偏移地址为

0x0004050B,所以函数最终的内存地址为0x77D5050B。

但是在将该十六进制写入password.txt,并运行strcpy函数shellcode时,函数

遇到0x0B会截断,使后面的代码不再被,所以我采用的函数是跟MessageBoxA函数

效果一样的MessageBoxExA函数。该函数的在内存中的地址为0x77D5057D。

在shellcode.c中填入刚刚所得的函数的地址,测试一下结果:

运行成功:

3.获得shellcode。

使用OllyDbg加载shellcode.exe,选中从0到

文档评论(0)

daluobu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档