URL 解析器差异检查器

粘贴一个或多个 URL(每行一个),检查浏览器/WHATWG URL 解析器与部分后端语言使用的旧式 RFC 3986 风格解析器之间的差异。了解各解析器认为 URL 指向何处,以及为什么这有时是安全问题,而不只是格式问题。

在您的浏览器中本地处理。文件绝不会被上传。

使用方法 工具

  1. 粘贴单个 URL 或每行一个 URL 的文本块;内容不会离开浏览器。
  2. 选择“检查 URL”。
  3. 查看每个标记值:哪些解析行为不同、影响哪些解析器,以及为何重要。
  4. 仅在提供时使用建议改写;userinfo 混淆和非 ASCII 主机名会刻意保留未解决,因为猜测预期主机比报告歧义更糟。

假设条件

来源与参考数据

方法说明

针对宽松 WHATWG 风格与较严格 RFC 3986 风格解析之间七种独立且有文档记录的差异检查每个候选 URL:反斜杠规范化、userinfo/主机混淆、额外前导斜线、非 ASCII/IDN 主机、缺少 scheme 的相对协议 URL、嵌入空白/控制字符及未编码空格。仅在明确安全时改写:规范化反斜杠、移除多余空白、折叠额外斜线、百分号编码字面空格。绝不自动改写 userinfo 混淆或非 ASCII 主机,因为无法知道原本预期的主机。

计算示例

userinfo 中 `@` 的混淆

输入项: https://trusted.com@evil.com/

结果: 浏览器将 `@` 前内容视为 userinfo,之后内容才是真正主机,因此 URL 实际指向 evil.com,而非 trusted.com。标记为错误;这是绕过仅用字符串匹配目标而未使用真正 URL 解析器的经典方式。

用反斜杠代替正斜杠

输入项: https:\\example.com\path

结果: 浏览器会对 https 等特殊 scheme 将反斜杠规范化为正斜杠,因此浏览器中与 `https://example.com/path` 解析相同;许多非浏览器解析器不会这样规范化,可能得到不同主机或直接失败。标记为错误,并安全改写为 `https://example.com/path`。

额外前导斜线

输入项: https:///example.com

结果: 不同解析器对 scheme 冒号后的三个斜线处理不一致。标记为警告,并安全改写为规范形式 `https://example.com`。

userinfo 中看似可信的主机

输入项: https://trusted.com@evil.com/

结果: 此 URL 中,`trusted.com` 是 `@` 前的用户信息;主机是 `evil.com`。这可欺骗只搜索可信域名子串、却不解析 URL 的检查。工具只分析文本,不会抓取或导航到该地址。

实用指南
常见错误

常见问题

为什么 userinfo 混淆标为错误,而非 ASCII 主机只标警告?

userinfo 混淆是有文档记录且正在被利用的安全绕过方式,没有常见的此类合法用途。非 ASCII 主机通常完全合法(国际化域名);问题仅在解析器处理方式不同,并不表示 URL 本身可疑。

为什么工具不直接抓取或规范化 URL 来检查实际主机?

本工具绝不会导航、抓取或将粘贴的 URL 渲染为可点击链接,只在浏览器中静态分析文本。教导 URL 混淆攻击的工具不应自身成为攻击媒介。

结果干净是否意味着 URL 肯定安全?

只表示未发现本工具检查的七种具体且有文档记录的解析差异;不保证抓取该 URL 安全,也不保证它不存在其他与解析器分歧无关的恶意问题。

上次审核: 2026-09-25

这是静态文本检查器,不是实时第二解析器:RFC 3986 严格侧描述有文档记录的真实解析器行为,不会执行其他语言的 URL 库处理输入。也不解析相对 URL、不跟随重定向,也不根据此处七种解析差异之外的因素判定恶意性。

主题和工具偏好设置,以及已保存和最近使用的列表仅存储在此浏览器中。