经典栈溢出之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 条评论
登录 后参与评论

相关文章

来自专栏java达人

DWR简介

image.png DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户...

19710
来自专栏FreeBuf

技术讨论 | Windows 10进程镂空技术(木马免杀)

在Win10 x64环境下替换正常的进程,是一个比较高超的技术。使用该技术,可以内存执行病毒、木马。在文件层面实现免杀。可以把一个木马使用DES加密,放在资源里...

981
来自专栏java一日一条

29 个你必须知道的 Linux 命令

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

883
来自专栏IT杂记

Zookeeper笔记一:session

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

1806
来自专栏程序你好

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

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

642
来自专栏菩提树下的杨过

在silverlight中利用socket发送图片或文件

silverlight中的socket通讯支持,让sl开发基于web的聊天工具成为了可能,后来OpenFileDialog,SaveFileDialog的出现,...

2145
来自专栏圣杰的专栏

一张图理清ASP.NET Core启动流程

1. 引言 对于ASP.NET Core应用程序来说,我们要记住非常重要的一点是:其本质上是一个独立的控制台应用,它并不是必需在IIS内部托管且并不需要IIS来...

2537
来自专栏Eugene's Blog

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

1273
来自专栏bboysoul

解决sudo add-apt-repository command not found

使用第三方软件源的时候发现这个问题 sudo: add-apt-repository: command not found 其实就是少安装了一个包而已

922
来自专栏H2Cloud

Boost ASIO proactor 浅析

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

4106

扫码关注云+社区