经典栈溢出之MS060-040漏洞分析

  找了好久才找到Win 2000 NetApi32.dll样本,下面我对这个经典栈溢出进行一下分析,使用IDA打开NetApi32.dll,问题函数:NetpwPathCanonucalize。实验环境:win xp sp3,ollydbg,IDA。exp编译工具:VC++ 6.0

其中的子函数存在溢出:

汇编代码注释:

两个溢出点,但是第一个无法利用:

找到一个网上的POC:

动态调试:找到函数返回地址被覆盖的位置。

不仅找到了覆盖的返回地址,同时发现ecx指向栈顶

寻找call ecx硬编码FFD1:

根据搜集到的信息:

栈空间的起始地址为0012F258

0x0012F258 bbbbbbbbb

0x0012F348 bbbbbbbbbbbbbb

0x0012F358 aaaaaaaaaaaaa

0x0012F670 \xc2\x7b\x19\x75

0x0012F674 aa

0x0012F66C ebp

0x0012F670 返回地址

call ecx 0x75197bc2

根据POC编写exp,测试:

原文发布于微信公众号 - 七夜安全博客(qiye_safe)

原文发表时间:2017-09-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

在 Windows 下那些好用的调试软件

在开发 Windows 程序经常需要调试软件,本文介绍 Windows Sysinternals 的好用的工具。

31530
来自专栏大内老A

ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式

由于ASP.NET Core应用是一个同时处理多个请求的服务器应用,所以在处理某个请求过程中抛出的异常并不会导致整个应用的终止。出于安全方面的考量,为了避免敏感...

42880
来自专栏程序你好

在VisualStudio中提供运行时和设计时支持的WPF本地化解决方案

关于WPF本地化问题有许多其他的文章,包括使用Locbaml本地化WPF应用程序(https://www.codeproject.com/KB/WPF/Arti...

10620
来自专栏张善友的专栏

ASP.NET 路由

ASP.NET 路由使您可以使用不必映射到网站中特定文件的 URL。由于 URL 不必映射到文件,所以可以在 Web 应用程序中使用 URL,这些 URL 是描...

24070
来自专栏java一日一条

29 个你必须知道的 Linux 命令

虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快...

11630
来自专栏IT杂记

Zookeeper笔记一:session

Chroot特性 从3.2.0版本开始可通过connection String后面跟上一个绝对路径设置root,比如“192.168.1.1:2181/app/...

20660
来自专栏程序员互动联盟

【答疑解惑】http的get和post的区别?

问题1:http的get和post的区别?啥时该用get,啥时该用post? Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,PO...

36270
来自专栏代码GG之家

深入Android源码系列(二) HOOK技术大作战

漫天的标题党的口水文打赏爆表,冷落了一群默默输出高质量文章的人群。真正的技术文章能否得到认可? 本文讲解内容有 hook技术原理探究 ...

28150
来自专栏H2Cloud

Boost ASIO proactor 浅析

Boost ASIO proactor 浅析 前情提要: Boost asio 的socket的异步非阻塞模式才有的是proactor模式,当IO操作介绍后回调...

52260
来自专栏Eugene's Blog

Python执行系统命令四种方法分类目录文章标签友情链接联系我们

16230

扫码关注云+社区

领取腾讯云代金券