首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
Microsoft Windows LoadImage API 整数溢出触发缓冲区溢出
来源:www.xfocus.net 作者:flashsky 发布时间:2004-12-23  

[AD_LAB-04004] Microsoft Windows LoadImage API 整数溢出触发缓冲区溢出

flashsky (flashsky1_at_sina.com)

[安全通告]
通告:[AD_LAB-04004] Microsoft Windows LoadImage API 整数溢出触发缓冲区溢出
分类:范围检查错误
日期:12/20/2004
远程:允许远程攻击者通过WEB页面攻击
CVE编号:
受威胁的系统:
Windows NT
Windows 2000 SP0
Windows 2000 SP1
Windows 2000 SP2
Windows 2000 SP3
Windows 2000 SP4
Windows XP SP0
Windows XP SP1
Windows 2003
未受威胁的系统:
windows xp sp2
厂商:
www.microsoft.com

1.漏洞描述:
WINDOWS的USER32库的LoadImage系统API 存在着整数溢出触发的缓冲区溢出漏洞,这个API允许加载一个bmp,cur,ico,ani格式的图标
来进行显示,并根据图片格式里说明的大小加4来进行数据的拷贝,如果将图片格式里说明的大小设置为0xfffffffc-0xffffffff,则将触发
整数溢出导致堆缓冲区被覆盖。攻击者可以构造恶意的bmp,cur,ico,ani格式的文件,嵌入到HTML页面,邮件中,发送给被攻击者,成功利
用该漏洞则可以获得系统的权限。

2.技术细节:
LoadImage函数的定义如下
HANDLE LoadImage(
HINSTANCE hinst,
LPCTSTR lpszName,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuLoad);
lpszName参数是用户指定的图标文件,uType参数可以指定为IMAGE_BITMAP加载一个BMP文件,IMAGE_CURSOR加载一个cur或ani文件,
IMAGE_ICON加载一个ico文件。
在LoadImage内部对这bmp,cur,ico,ani格式的长度的解析并没有做有效的检查,产生错误的代码如下:
由ANI或CUR触发的时候:
.text:77D56178 mov eax, [ebx+8] <------------读取我们设置的值
.text:77D5617B mov [ebp+dwResSize], eax
.text:77D5617E jnz short loc_77D56184
.text:77D56180 add [ebp+dwResSize], 4 <------------加4,整数溢出
.text:77D56184
.text:77D56184 loc_77D56184: ; CODE XREF: sub_77D5608F+EFj
.text:77D56184 push [ebp+dwResSize] <-----------分配错误的堆内存
.text:77D56187 push 0
.text:77D56189 push dword_77D5F1A0
.text:77D5618F call ds:RtlAllocateHeap

其后的数据拷贝则是按我们给定的值进行拷贝,导致了堆的溢出。
.text:77D561A9 mov ecx, [ebx+8]
.text:77D561AC mov esi, [ebx+0Ch]
.text:77D561AF add esi, [ebp+arg_0]
.text:77D561B2 mov edx, ecx
.text:77D561B4 shr ecx, 2
.text:77D561B7 mov edi, eax
.text:77D561B9 rep movsd
.text:77D561BB mov ecx, edx
.text:77D561BD and ecx, 3
.text:77D561C0 rep movsb

相应的,在处理ico,bmp图片的时候,一样存在着该漏洞,对应的错误代码不再一一显示出。
可以通过访问 http://www.xfocus.net/flashsky/icoExp/index.html 来验证此漏洞

3.感谢:
Flashsky (fangxing@venustech.com.cn;flashsky@xfocus.org)发现并公布了此漏洞的具体技术细节
感谢启明星辰技术信息有限公司积极防御实验室的伙伴和丰收项目小组。

4.申明:

The information in this bulletin is provided "AS IS" without warranty of any
kind. In no event shall we be liable for any damages whatsoever including direct,
indirect, incidental, consequential, loss of business profits or special damages.

Copyright 1996-2004 VENUSTECH. All Rights Reserved. Terms of use.

VENUSTECH Security Lab
VENUSTECH INFORMATION TECHNOLOGY CO.,LTD(http://www.venustech.com.cn)

Security
Trusted {Solution} Provider
Service



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·Microsoft Windows winhlp32.exe
·Linux 2.6.* 内核Capability LSM
·Microsoft WINDOWS ani 光标文件
·最新公布的动易4.03上传漏洞
·小榕的WIS漏洞补充篇及利用篇
·多个浏览器嵌套数组sort()循环栈
·Jabberd2.x 服务器多个远程缓冲
·微软最新安全漏洞大揭秘
·phpBB远程任意SQL注入漏洞
·最近发现的一个Distributed File
·PHP COM组件调用绕过安全模式执
·JAF CMS多个安全漏洞
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved