postMessage 无来源校验漏洞

一、测试背景

对目标网站进行前端安全测试,重点排查 跨窗口通信(postMessage) 安全风险,发现页面存在消息发送无响应、来源校验失效的异常现象。

二、第一步:发现功能异常(消息不生效)

1.在目标页面手动发送 postMessage 消息,测试通信功能;
2.发现自己发送的消息完全无响应、不生效,初步判断:
要么消息发送目标错误
要么来源(origin)校验逻辑存在问题
3.锁定排查方向:前端 postMessage 通信源码。

三、第二步:定位核心代码(找到漏洞位置)

1.打开浏览器开发者工具 → Sources(源代码)面板;
2.搜索关键词:postMessage、addEventListener('message';
3.找到一段混淆压缩的核心通信代码:
r = u(e.postMessage, e)) : i.addEventListener && a(i.postMessage) && !i.importScripts && t && "file:" !== t.protocol && !c(C) ? (r = C,
4.确认这行代码是控制消息发送、来源校验的核心逻辑。

四、第三步:断点调试(触发漏洞执行)

在这行核心代码上打上断点;
刷新页面,页面初始化时直接断住;
确认:这行代码是页面加载时最先执行的通信初始化逻辑,是漏洞根节点。

五、第四步:控制台验证(实锤漏洞关键证据)

在断点暂停状态下,逐行输入命令验证变量,锁定漏洞成因:
验证发送方法:
输入 u(e.postMessage, e)
输出:ƒ postMessage() { [native code] }
→ 证明代码直接使用原生无校验的发送方法
验证通信对象:
输入 e
输出:MessagePort {onmessage: null, onmessageerror: null}
→ 核心突破:目标对象是 MessagePort(专用私密通道,无任何来源校验)
验证安全分支:
输入 C / c(C)
输出:安全校验函数、校验结果为 false
→ 证明所有来源 / 域名 / 协议安全校验逻辑,被完全跳过,永不执行
验证最终赋值:
输入 r
输出:undefined → 执行后绑定 MessagePort 原生方法
→ 消息发送到错误通道,同时无任何安全校验

六、第五步:漏洞判定(确认高危漏洞)

结合调试结果,得出最终结论:
代码优先使用 MessagePort 通道,跳过所有安全校验;
MessagePort 天生不携带来源(origin)域名,无法校验消息发送方;
接收端无任何来源白名单限制;

符合「postMessage 无来源校验高危漏洞」的全部特征。七、最终结论

目标网站存在 前端 postMessage 无来源校验漏洞,攻击者可通过任意外部网站发送伪造消息,实现恶意攻击。

image.png

image.png

image.png

最后附上一个消息官方赋予

经平台安全评审团队复核研判,该漏洞判定为未公开原生 0day 漏洞,符合平台高危漏洞收录标准,正式纳入安全漏洞资源库予以收录评级,收录理由如下:
漏洞具备 0day 独有属性
该前端逻辑缺陷从未对外公开披露,厂商自身安全自查、常规安全扫描均未发现该风险,属于原生代码设计疏漏形成的未公开漏洞,满足 0day 漏洞入库基础门槛。
挖掘门槛高、非普通表层水洞
漏洞隐藏于网站混淆压缩的深层业务 JS 代码中,无法通过简单关键词搜索、自动化扫描工具探测发现;需依靠前端断点动态调试、跟踪代码分支执行逻辑、逐层分析内部对象参数,精准定位到MessagePort特殊通信分支的安全绕过问题,挖掘过程具备专业技术深度,区别于常规易发现的低价值漏洞。
漏洞原理危害真实且可落地
漏洞根源为代码优先适配MessagePort通信对象,直接跳过站点预设的域名协议校验、来源校验等安全防护逻辑;该通信通道无天然 origin 来源鉴权能力,导致任意第三方网站均可通过 iframe 向目标页面投递恶意消息。可被利用篡改前端业务逻辑、伪造业务操作、诱导用户钓鱼,若页面消息处理接口存在危险调用,还可引发前端代码执行、用户敏感身份信息窃取等高危风险,业务与用户影响面切实存在。
漏洞隐蔽性极强、安全风险持久
漏洞藏身于业务底层通信逻辑分支,无前台功能异常特征,黑盒测试难以感知;现有安全设备、前端检测规则均无针对性检测能力,若未被深挖发现,可长期潜伏在业务环境中,存在被黑产批量利用的潜在风险。
复现完整、证据链规范
提交者提供了完整的断点调试截图、控制台变量取证、漏洞执行路径溯源、漏洞原理及危害分析,复现步骤清晰、证据链完整合规,经团队复测可稳定复现,漏洞真实有效性确认无误。
综合评审结论:
该漏洞隐蔽性高、挖掘难度大、可利用性强、业务危害等级高危,且为未公开原生 0day 漏洞,具备较高安全防御参考价值,平台予以正式收录、纳入高危漏洞评级库,同时认可提交者的深度挖掘与安全研究贡献。

温馨提示:本文内容仅用于合法授权的安全学习与研究交流,严禁用于未授权渗透测试、漏洞利用或任何违法行为。

涉及企业或平台的未公开漏洞信息,请遵循负责任披露原则,勿公开传播可直接复现的敏感细节。

如存在侵权、错误信息或不当内容,请联系站方处理,我们将及时核实并删除。邮箱:admin@baimaojianghu.com。