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

相关文章

来自专栏bboysoul

解决sudo add-apt-repository command not found

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

1152
来自专栏大内老A

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

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

3588
来自专栏H2Cloud

Boost ASIO proactor 浅析

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

4476
来自专栏java达人

DWR简介

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

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

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

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

2265
来自专栏FreeBuf

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

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

1141
来自专栏java一日一条

29 个你必须知道的 Linux 命令

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

993
来自专栏数据库

JDBC常见错误及解决方案

最近很多同学在数据库编程这一块遇到了很多的问题,各种问题都有,但却苦于不知道怎么解决这些问题,以至于编程效率非常低。今天我就来总结一下在数据库编程时经常遇到的问...

2118
来自专栏代码GG之家

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

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

2345
来自专栏林德熙的博客

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

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

2083

扫码关注云+社区