首先读取主机名
URL可以包含方案、用户信息、主机、端口、路径、查询和片段。主机名标识目标名称;路径或查询中的词语不标识操作者。在https://example.net/bank-login中,bank-login是example.net上的一个路径。
@符号可引入用户信息。在https://[email protected]/中,目标主机名是example.net,而不是trusted-name。请保留原始字符串,然后使用符合标准的解析器,而不是仅凭肉眼查看链接。
编码和国际化域名
百分比编码可以隐藏路径和查询中的字符。国际化名称可能使用以xn--开头的Puncycode表示。在保持原始文本不变的情况下进行解码以进行解释。外观相似的Unicode字符不一定相同。
查询字符串可能包含登录令牌、标识符或个人数据。未经授权,请勿将完整的敏感URL发送给公共分析服务。片段通常由浏览器处理,而不是作为HTTP请求的一部分发送。
安全的初步分类
首先进行离线解析和公共DNS或注册信息查询。请勿在日常浏览器中访问可疑目标。解析器描述一个URL;它不证明目标是安全的。
- 将原始URL保留在其原始消息或工件中。
- 分别识别方案、主机、端口、路径和查询。
- 检查用户信息、相似域名和编码字符。
- 仅从用于外部提交的副本中删除敏感数据。
来源与延伸阅读
WHATWG, URL标准RFC 3986,URI通用语法此资源支持调查分类。它不是法律建议、归因判断,也不是网站安全的认证。
