期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 21|回复: 0

[软件工具]windows ms08052漏洞 利用 - 比特币今日价格

[复制链接] |主动推送

285万

主题

285万

帖子

855万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8553710
发表于 2022-9-11 09:00:18 | 显示全部楼层 |阅读模式
windows ms08052漏洞 利用
abc.wmf文件构造了 ms08-052 wmf漏洞格式的图片, 这个图片在未打ms08-052补丁的windows xp sp2系
统上用explorer浏览会导explorer进程致崩溃。
某些im工具发送即可导致对方崩溃,请不要乱试。
该文件不包含任何恶意执行,但请尽量在虚拟机中测试。
文件abc.wmf
MD5: 7A0552934766ECCC785B5A8AE56CA72A
SHA1: BFDF03EDB5298813D8A994538C7FEE40C75E3329
一 背景知识
由文件格式入手,来分析MS08-052漏洞, 并构造了一个可以使没有补丁的程序崩溃的图片,
1 WMF文件结构
| 文件头 |
| 文件记录 |
| 文件记录 |
| 文件记录 |
windows中文件头结构如下
typedef struct
INT16 Left;
INT16 Top;
INT16 Right;
INT16 Bottom;
} PWMFRect16;
typedef struct
UINT32 Key; // GDIP_WMF_PLACEABLEKEY
INT16 Hmf; // Metafile HANDLE number (always 0)
PWMFRect16 BoundingBox; // Coordinates in metafile units
INT16 Inch; // Number of metafile units per inch
UINT32 Reserved; // Reserved (always 0)
INT16 Checksum; // Checksum value for previous 10 WORDs
} WmfPlaceableFileHeader;
typedef struct tagMETAHEADER
WORD mtType; // 01 磁盘
WORD mtHeaderSize; // 0x0009 头大小9个word
WORD mtVersion;
DWORD mtSize; // 不算WmfPlaceableFileHeader头的文件大小
WORD mtNoObjects;
DWORD mtMaxRecord;
WORD mtNoParameters;
} METAHEADER;
图 1.1 文件头
文件记录由 文件记录大小(4字节) 文件记录类型(2字节) 文件记录体组成,其中0x0538类型是
polypolygon类型,正是对这个记录的处理不当导致的溢出, 该记录的结构如下
记录大小
记录类型
polygon个数(假设为x)
第1个polygon的点数(y个) 第2个polygon点数 ....第x个polygon的点数 .
第1个polygon的第1个点 第1个polygon的第2个点....第1个polygon的第y个点
第x个polygon的第1个点 .................................第x个polygon的最后1个点
由图1.2看出该记录的大小为0x73个word长度. 该记录类型是0x0538 该记录中polygon的个数为1 ,
polygon的点数为0x37, 后面0x37个word长度的数据就是该polygon的点. 想要读取该记录则要先分配空
间,但并不是根据0x73来分配的,而是根据polygon的个数,及每个polygon的点数相加来分配空间.
图 1.2 polypolygon记录
二 漏洞部分代码
图2.1 具有漏洞的代码
图2.2 微软修补后的代码
除了判断是否小于0 还有判断是否加过了溢出了
三 WMF文件构造
构造了一个wmf文件polypoygon记录, 用极大的polygon个数和每个polygon的点数都很大, 使其计算达到
整数溢出,使用没有补丁的gdiplus的程序查看该文件,就可以直接崩溃, 测试图片连接
呵呵
四解决方案
有漏洞的赶快打补丁吧

五 总结
图形文件格式是由很多“段”构成的数据流,而每个段由:长度, 类型,参数,数据等结构构成,在程序
解析这些文件格式的时候会依据“类型”来确认段,并读取参数” 进行一定的运算,再依据这些参数来
处理随后紧跟的“数据”。漏洞的产生原因就是在对参数进行运算的时候相信了文件输入的参数没有进
行确认而导致的。除了图形文件格式外excel的biff格式也是一样的由段的头决定后续数据的读取,且有
可变数据对象。有输入就有危险.
六 参考文献
[1] GDI+ 中的漏洞可能允许远程执行代码 (

[2] Microsoft GDI+ WMF PolyPolygon Record Parsing Integer Overflow

[3] Wmf
4342ED7AD886/WindowsMetafileFormat(wmf)Specification.pdf 2008
ms08052网马测试工具下载地址
polygon软件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2024-11-29 04:39 , Processed in 0.108818 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表