利用文档模式继承漏洞:EasyXDM 2.4.19 DOMXSS攻击分析
技术细节
该漏洞存在于EasyXDM 2.4.19的createElement()
代码段中,当浏览器处于旧版文档模式(如IE7或IE5)时,以下代码会触发XSS:
if (HAS_NAME_PROPERTY_BUG) {
frame = document.createElement("<iframe name=\"" + config.props.name + "\"/>");
}
变量HAS_NAME_PROPERTY_BUG
由testForNamePropertyBug()
函数检测,仅在存在动态元素名访问缺陷的浏览器(如IE7模式)下返回true
。
复现条件
- 环境限制:仅MSIE浏览器有效,且需切换至旧版文档模式(通过F12开发者工具模拟)。
- 攻击向量:构造恶意URL参数(如
xdm_c=%22onload%3dalert(document.domain)//
),通过message/rfc822
格式页面强制继承IE5模式以绕过DOCTYPE限制。
扩展攻击面
通过文档模式继承技术,即使目标页面声明<!DOCTYPE html>
,攻击者仍可强制降级至IE7模式。例如,将漏洞页面嵌入message/rfc822
格式的邮件文档(默认IE5模式),从而影响所有IE11用户。
修复方案
升级至EasyXDM 2.4.20版本,该版本已修复此问题。
参考链接
作者通过创新性的文档模式继承利用,将原本仅限IE7模式的漏洞影响扩展至主流IE11环境,凸显了浏览器兼容性代码的安全风险。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码