Windows32系统的缓冲区溢出攻击中国科学技术大学.PDFVIP

Windows32系统的缓冲区溢出攻击中国科学技术大学.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(2019秋季,网络安全,编号:CS05154) 第10章 Windows32系统的缓冲区溢出攻击 中国科学技术大学 曾凡平 billzeng@ustc.edu.cn Windows系统的缓冲区溢出攻击 • Windows系统是目前应用最广泛的桌面操作系统,对其 入侵能获得巨大的利益,因而其安全漏洞及利用技术是 黑客最乐意研究的。Windows 系统是闭源软件,在没有 源代码的情况下很难获得该系统全面而准确的信息,而 这些信息对于漏洞攻击是至关重要。因此,要成功攻破 Windows系统,难度很大。 • Linux和Windows系统的缓冲溢出原理相同:用超过缓冲 区容量的数据写缓冲区,从而覆盖缓冲区之外的存储空 间(高地址空间) ,破坏进程的数据。由于函数的返回地 址一般位于缓冲区的上方,返回地址也是可以改写的, 这样就可控制进程的执行流程。 实验环境:Windows 2003 SP2 编译器:Visual studio 2008 (CL 15.00 for 80x86) 调试器:WinDbg 6.12 Windows溢出攻击 2 10.1 Win32的进程映像 • 了解内存中的进程映像是进行攻击的基础,例程 mem_distribute.c用于观察进程的内存映像。 • 查看源代码: ..\src\mem_distribute.c • 编译并运行该例程: cl ..\src\mem_distribute.c /out:mem_distribute.exe mem_distribute.obj mem_distribute.exe Windows溢出攻击 3 mem_distribute.c的源代码 int fun1(int a, int b) { return a+b; } int fun2(int a, int b) { return a*b; } int fun3(int a) { return a*10; } int x=10, y, z=20; int main (int argc, char *argv[]) { char buff[64]; int a=5,b,c=6; char buff02[64]; printf((.text)address of\n\tfun 1=%p\n\tfun2=%p\n\tmain=%p\n, fun1, fun2, main); printf((.data inited Global variable)address of\n\tx(inited)=%p\n\tz(inited)=%p\n, x, z); printf((.bss uninited Global variable)address of\n\ty(uninit)=%p\n\n, y); printf((stack)address of\n\targc =%p\n\targv =%p\n\targv[0]=%p\n, argc, argv, argv[0]); printf((Local variable)address of\n\tbuff[64]=%p\n\tbuff02[64]=%p\n, buff, buff02); printf((Local variable)address of\n\ta(inited) =%p\n\tb(uninit) =%p\n\tc(inited) =%p\n\n, a, b, c); return 0; } Windows溢出攻击

文档评论(0)

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

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

1亿VIP精品文档

相关文档