WMF漏洞是微软故意设置的后门吗?

Microsoft Windows图形渲染引擎WMF格式解码内存越界漏洞 漏洞名称:Microsoft Windows图形渲染引擎WMF格式解码内存越界漏洞发现者:cocoruder(frankruder_at_hotmail.com) http://ruder.cdut.net类型:设计错误最后更新时间:07/01/2006受威胁的系统:    Microsoft Windows XP SP2    Microsoft Windows XP SP1    Micros 阅读详情
Subject:Re: You won't want to miss tonight's Security Now!, #22
Date:Thu, 12 Jan 2006 18:46:56 -0800
From:Steve Gibson <news2006@grc.com>


[for the unabridged version, see Sam Schinke's post above]

> There is some interesting discussion of this issue in
> the thread beginning with this post:
> 
> http://www.GRC.com/groups/security:108750
> 
> Apparently, this function stems from the _very_ early windows
> days and could be used to aid in safely aborting printing,
> or something like that.

All "rendering" of graphical content, whether on screen, in 
memory, or to a printer, is done inside if a "device context" or 
"DC" in Windows jargon.  The Device Context (DC) literally 
provides the "context" for the various drawing functions.  You 
create pens and "select them into" the "context".  Or you set 
the context's current foreground color or background color.  The 
"context" provides a sort of "modal stickiness" for the drawing 
functions so that you don't need to (redundantly) specify the 
line width, foreground color, background color, drawing mode, 
etc. etc. with each call to drawing functions.

So the Device Context is the "holder" for many current aspects 
of the drawing state.

The screen has contexts, metafiles have contexts, and printers 
have contexts.  When a printing context is handed over to 
Windows for printing the app is able to wash its hands of the 
"print job" and go on with other things.  But what if the user 
were to cancel the print job after Windows had "accepted" 
responsibility for printing it from the application.  Since the 
application was officially "done" with the printing, it would 
not waiting around for the completion results ... it would be 
onto other things -- like perhaps getting the next page setup to 
print.

So one of the other things that can be set into a printer's 
Device Context is the address of an application-provided 
"callback" -- a subroutine provided by the application that is 
expressly designed to asynchronously accept the news and 
notification of a printing job being aborted for whatever 
reason.  Otherwise, there's no way for Windows to notify the 
application.

That is what the "SetAbortProc" system was designed to do.

Originally, this was performed by using a GDI Escape function 
with the "subfunction" of "SetAbortProc", then later 
"SetAbortProc" was promoted to its own full-blown standard 
Windows GDI API call.

Either way, the call to "SetAbortProc" hands Windows a 
"pointer" to a subroutine provided by the application and 
Windows simply stores that four-byte pointer into the printer's 
device context ... just like it stores the current pen color, 
etc.

Now ...

Windows MetaFiles are a completely different sort of animal. 
When you create a MetaFile you are actually creating a MetaFile 
Device Context that starts out blank.  Then, as the GDI 
functions in the MetaFile are executed, those GDI drawing 
functions are "drawn" or applied onto the Metafile's Device 
Context.

But MetaFiles are not "printed", to do that you need a "printer 
Device Context", which is different from screen contexts and 
metafile contexts.  So it makes no sense to set an abort proc in 
a metafile.  But even so, there would presumably be no reason 
for not allowing an abort proc to be set.

However, this is NOT at all what the WMF processing code does.

What you would expect is that when Windows is reading a WMF 
file, and the MetaFile ESCAPE code is encountered, followed by 
the SetAbortProc subcode, there would be an argument specifying 
a Device Context and a second argument pointing to a user-
provided function that is to be executed in the event of a 
printing abort.

But that's not what happens:  When these affected versions of 
Windows are reading a WMF file, and the ESCAPE code is 
encountered, followed by the SetAbortProc subcode, Windows 
simply jumps to the next byte in the file and begin executing 
the code found there.  Nothing is stored in the Device Context, 
no "abort" is awaited.

And, what's more ... remember my posting yesterday where I said 
that I had some initial trouble getting my own tester to trigger 
the exploit?  The reason for that was the clincher for me, up to 
this point:  The only way to get this special behavior is to 
deliberately mis-set the LENGTH of that ESCAPE/SetAbortProc 
metafile record to ONE.

The first four bytes of any metafile record is the length of the 
record in two-byte words.  My tester was initially setting it to 
the correct length for my "exploit" record ... and nothing was 
happening.  It was only when I deliberately mis-set the record's 
length to exactly ONE -- zero didn't work, two didn't work, 
nothing else worked ... just '1'.

But since EVERY METAFILE RECORD starts out with a mandatory 
four-byte record length, followed by a two-byte function code, 
the smallest possible record is six-bytes, or a size of THREE 
words.  Therefore the use of a word-length of ONE is impossible.

It was put in there as a safety interlock to prevent the mis-
firing of this backdoor in the event that some whacky metafile 
would actually HAVE a needless (because it's not a printer 
device context) Escape/SetAbortProc metafile record.

No...

The only conclusion that can reasonably be drawn is that this 
was a deliberate backdoor put into all of Microsoft's recent 
editions of Windows.  WHY it was put in and WHO knew about it, 
and WHAT they were expected to use it for ... we'll never know.

-- 
________________________________________________________________
Steve.
GitLab中国区注册终极解决方案:绕过+86手机验证的实战技巧(2023最新) 本文详细解析了GitLab中国区注册时绕过+86手机验证的三种实战技巧,包括开发者工具调试方案、使用国际号码的变通方案以及本地化部署替代方案。通过技术分析和实践验证,帮助开发者顺利注册GitLab账号,提升团队协作效率。 阅读详情

相关推荐

激光定位算法竞技场:hdl_localization与Cartographer/AMCL的横向技术解剖

本文深入对比了hdl_localization、Cartographer和AMCL三种激光定位算法的技术原理与性能表现。通过UKF-NDT融合、图优化和粒子滤波等核心技术,分析了各算法在结构化环境、动态环境和大尺度场景下的适应性。实验数据表明,Cartographer在全局一致性上表现最优,而AMCL在动态环境中更具鲁棒性。文章还提供了算法选型指南和参数调优技巧,为工程实践提供参考。

weixin_29062865的博客 367

MS06001 图形呈现引擎(WMF)漏洞分析学习手记

MS06001 图形呈现引擎(WMF)漏洞分析学习手记killerxfocus.org    图形呈现引擎中由于其处理 Windows 图元文件 (WMF) 图像的方式而存在一个远程执行代码漏洞。据FlashSky所言是MS早期在处理OLE而在WMF(没有考虑安全)中定义的功能。漏洞因0day方式传播而导致漏洞被曝光。Win2000、XPsp1、XPsp2代码略有不同,如下代码是XPsp1的。一、

生命的守望 997

超详细!新手必看STM32-DMA配置与实验(串口使用DMA发送数据)

DMA就是:直接存储器访问。DMA传输数据从一个地址空间复制到另一个地址空间,提供在外设和存储器或者存储器和存储器之间的高速数据传输。

qq_1033275663的博客 2万+

Microsoft Windows远程桌面协议中间人攻击漏洞(CVE-2005-1794)解决方案

Microsoft Windows远程桌面协议中间人攻击漏洞(CVE-2005-1794)解决方案1.系统版本:windows server 2003 2.漏洞:CVE-2005-1794 3.修复方案: 漏洞介绍: Microsoft Windows远程桌面协议用于连接Windows终端服务。 Windows远程桌面协议客户端没有验证会话的服务器公共密钥,远程攻击者可以利用这个漏洞通过Man

安全小白的博客 4万+

SAP SD跨公司销售IDOC自动记账配置实战指南

本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。

weixin_29284885的博客 772

科研党福音:如何用Zotero+Paper Agent打造你的AI论文速递系统(附详细配置教程)

本文为科研工作者提供了一套利用Zotero和开源工具Paper Agent构建自动化AI论文速递系统的详细教程。该系统能基于用户在Zotero中的文献库智能学习研究兴趣,每日自动从arXiv等平台筛选、下载并深度解读最相关的前沿论文,生成个性化日报,实现从被动接收到主动精准获取的知识工作流重塑。

kite3的博客 517

MS08-052 WMF漏洞分析及漏洞测试

 ------by CuteK一 背景知识由文件格式入手,来分析MS08-052漏洞, 并构造了一个可以使没有补丁的程序崩溃的图片,1 WMF文件结构--------------------------|| 文件头 ||-------------------------|| 文件记录 ||-------------------------||-------------------------||

|独自望海。。。 780

MQTT与物联网平台(一):基础知识和设备接入物联网平台的实现(以华为云为例)

本文简单介绍了MQTT的基础知识和使用方法,以蓝牙WIFI双模芯片W801作为硬件设备,接入到华为云。

weixin_50622833的博客 1万+

关于微软WMF 漏洞的 紧急通报 只要你一看图片就会中木马

先说说这个s b漏洞的危害只要你一看图片就会中木马原文发至幻影旅团 http://www.ph4nt0m.org/bbs/showthread.php?s=&postid=65399#post65399cmd下执行 regsvr32.exe /u shimgvw.dll执行以上命令则可禁止wmf执行,regsvr32.exe一般在system32下,没有的话自己去搜envymask刺这个方法只能防

FreeXploiT 2166

MLX90640 热成像 STM32

MLX90640 热成像

zhaocundang's blog 5008

【实战】——零代码玩转Supervisely人像分割:从标注到模型训练的数据流水线搭建

本文详细介绍了如何零代码使用Supervisely平台搭建人像分割数据流水线,从智能标注到数据集格式转换,再到模型训练与优化。Supervisely的智能标注工具和协作功能大幅提升了人像分割项目的效率,特别适合视频会议背景虚化、虚拟试衣等应用场景。

weixin_30694389的博客 416

java wmf_WMF介绍

Windows Metafile(WMF) is animage file formatoriginally designed forMicrosoft Windowsin the 1990s. Windows Metafiles are intended to be portable between applications and may contain bothvector gr...

weixin_28834169的博客 388

YOLOv8【第十章:多任务扩展深度篇·第1节】YOLOv8-Seg 实例分割:Mask原型生成与系数预测原理解析!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1813

微软计划于下周发布WMF补丁

如果测试通过,微软将于下一周发布针对其Windows Meta文件漏洞的补丁,这也是微软每月一次安全更新的一部分。不过,网络安全专家认为IT管理者们可能等不到补丁发布就要采取行动了。  “对于那些处于学校背景的IT管理者们来说,补丁发布的时间刚刚好,因为补丁发布的时候,学生们正好刚刚放假回来。” SANS Internet Storm Center (ISC)的管理者Scott Fendley在上

1130

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Microsoft: WMF flaw not an intentional back door (微软:Windows图元文件格式缺点不是故意的后门)

Its security group published a detailed explanation of how the vulnerability was introduced (微软的安全组公布了一个详细的说明关于如何介绍这个弱点)News Story by Robert McMillan(新闻发布人:罗伯特.麦克米伦)JANUARY 16, 2006 (IDG NEWS

春之语专栏 701

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WMF漏洞被疯狂利用 “QQ尾巴”借机传播(转)

金山毒霸反病毒监测中心消息,目前已经有数以千计的木马、广告软件、病毒利用微软操作系统WMF(Windows图元文件)安全漏洞进行传播。金山反病毒专家介绍,病毒作者通常将含有此漏洞的WMF恶意文件注入到将要攻击的网站中,在用户系统...

cuankuangzhong6373的博客 254

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Microsoft修补了120个漏洞,2个0day

作为周二发布的每月补丁的一部分,微软今天发布了13个产品和服务中120个漏洞的修复程序,其中包括两个0Day。 8月份发布的补丁是周二发布的第三大补丁,紧随着2020年7月的第二大补丁(123个补丁)和2020年6月的最大补丁(129个补丁)。这也使得2020年的安全修复总数达到862–比微软在2019年发布的多11个。 “如果他们保持这样的速度,他们很有可能在今年发布超过1300个补丁,”Trend Micro零日计划(ZDI)的Dustin Childs说这一数量以及困难的服务场景给补丁管理团队带来了额

m0_48520508的博客 220

Microsoft Windows Shimgvw.dll WMF (Exploit)

Microsoft Windows Shimgvw.dll WMF (Exploit)------------------------------------------------------------------------SUMMARYA vulnerability in the way Microsofts Windows parsers WMF files that allows a

1536

GDI图片漏洞-微软GDI 图片漏洞,GDI 图片漏洞补丁包下载

GDI图片漏洞-微软GDI 图片漏洞,GDI 图片漏洞补丁包下载   微软爆出有史以来最大的安全漏洞:通过GDI 图片漏洞,***者可以将***藏于图片中,网民无论是通过浏览器浏览、还是用各种看图软件打开、或者在即时聊天窗口、电子邮件、Office文档里查看这些图片,只要看了就会中招!哪怕只是看了一个QQ表情!   微软GDI 图片漏洞,危害程度远远超过以往微软公布过的任何安全漏洞。  据奇虎36...

weixin_34357928的博客 75

linux 图片漏洞,还是Linux安全 微软GDI+图片漏洞详细情况

微软GDI+图片漏洞详细情况:什么是GDI+:GDI+ 是一种图形设备接口,能够为应用程序和程序员提供二维矢量图形、映像和版式。漏洞影响:Microsoft产品中所使用的GDI+库(GdiPlus.dll)通过基于类的API提供对各种图形方式的访问。而Linux系统不受影响。GDI+库在解析特制的BMP文件时存在整数溢出漏洞,如果文件中包含有畸形的BitMapInfoHeader的话,就会导致错误...

weixin_32635501的博客 432

微软Windows MFC42,MFC71重要API发现0day漏洞

微软Windows操作系统的重要组件API:MFC42,MFC71中包含0day漏洞.该漏洞出现在"FindFile"功能的用户输入长度验证中,可以导致缓冲区溢出,并允许执行任意代码.由于MFC42是许多Win32程序编程不可缺少的组件,大量程序需要调用到这两个API,因此这一问题相当严重. 目前已知可能导致漏洞的应用程序有,HP Photo & Imaging Gallery ...

测试 382

微软GDI+图片漏洞360专用补丁包下载(安全漏洞解决方案)

奇虎360称发现微软史上最大安全漏洞微软在近日凌晨爆出有史以来最大的安全漏洞,通过该漏洞,攻击者可以将木马藏于图片中,网民无论是通过浏览器浏览、还是用各种看图软件打开、或者在即时聊天窗口、电子邮件、Office文档里查看这些图片,只要看了就会中招!哪怕只是看了一个QQ表情!其危害程度远远超过以往微软公布过的任何安全漏洞。针对这一突发情况,国内众安全厂商迅速组织力量进行研发,在第一时间独家推

clubsondy的专栏 792

微软史上最大的系统漏洞

近日,微软爆出有史以来最大的安全漏洞。通过该漏洞,***者可以将***藏于图片中,网民无论是通过浏览器浏览、还是用各种看图软件打开、或者在即时聊天窗口、电子邮件、Office文档里查看这些图片,只要看了就会中招!哪怕只是看了一个QQ表情!其危害程度远远超过以往微软公布过的任何安全漏洞。   针对这一突发情况,奇虎360迅速组织力量进行研发,在第一时间独家推出了完整的解决方案...

weixin_33750452的博客 202

微软爆出有史以来最大的安全漏洞

  近日,微软爆出有史以来最大的安全漏洞。通过该漏洞,***者可以将***藏于图片中,网民无论是通过浏览器浏览、还是用各种看图软件打开、或者在即时聊天窗口、电子邮件、Office文档里查看这些图片,只要看了就会中招!哪怕只是看了一个QQ表情!其危害程度远远超过以往微软公布过的任何安全漏洞。  针对这一突发情况,奇虎360迅速组织力量进行研发,在第一时间独家推出了完整的解决方案,能够同时修补wind...

weixin_33897722的博客 143
上一篇: [NT] Windows Embedded Open Type (EOT) Font Heap Overflow
下一篇: Rootkits to target BIOS soon?
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值