先纠正一个在中文资料里流传很广、而且确实会误导人的说法:纯数字域名等于诈骗。

这条经验来自英文安全文章,直接搬到中文语境就出问题了。163.com、126.com、58.com、4399.com 都是纯数字域名,也都是国内规模很大的正经服务。按这条规则判断,第一批被误判的就是它们。

真正有意义的不是「是不是数字」,而是位数。三到四位的数字域名很多是早年注册的优质资产;而 8729130461.top 这种十位数的名字,没有人会手工去注册——它们是批量生成的。

这个例子说明了本文的核心方法:信号本身没有对错,关键在于怎么给它称重。

为什么短链接不能凭肉眼判断

普通网址会自己说明自己。域名、后缀、往往还有栏目路径都摆在眼前,点击之前你已经能察觉哪里不对劲。

短链接正好相反。它只显示短链服务的域名和几个随机字符。隐藏目标地址不是副作用,而是这项技术的工作方式所决定的:短链服务在自己这边保存短码与完整网址的对应关系,然后给浏览器返回一个 HTTP 跳转。具体机制可以参考短网服务是怎么工作的。

微信、微博等平台上分享链接时短链非常普遍,这也让它成了黑产常用的载体。

核心原则:信号是叠加的

下面这些信号,几乎没有哪一个单独成立就能定性。.xyz 后缀不是罪证。域名里有连字符,几千家正规公司都这么用。中文域名完全合法。kuaidi(快递)这个词也出现在真实的物流域名里。

危险出现在多个弱信号落在同一个地址上的时候。域名里出现别人的品牌已经很严重了。品牌 + 廉价后缀 + 连字符 + 上周才注册,基本可以定性。

所以不要去找「那一个」危险特征,而要数有几个信号叠在一起。

只有一个例外:第一组的四个信号,单独出现就足够了。

第一步:不打开链接,先展开它

不知道目标地址,就没有可评估的对象。

读取响应头。 短链服务返回的是跳转,目标地址在 Location 响应头里:

bash curl -sI https://example-shortener.com/abc123 | grep -i location

-I 只请求响应头,不加 -L 时 curl 不会继续跟进跳转。这是最可靠的办法,因为页面不会渲染,脚本也不会执行。

使用展开工具。 有一类服务接收短链接后返回最终地址,有的还会显示中间的完整跳转链条。

查询信誉库。 VirusTotal 会用几十个引擎检测该地址,Google Safe Browsing 可以查看站点是否已被列入不安全名单。在国内环境下,「国家反诈中心」App 的风险查询功能同样可以用来核验可疑网址。

需要说清楚的是:查询结果干净并不等于安全。今天刚注册的钓鱼域名还没有进入任何库——大多数域名在注册后几小时内就投入使用。没有告警只代表没有信息,不代表已经确认无害。

单独成立就足够的四个信号

1. 不该被缩短的协议

地址以 javascript:、data:、file: 或 attachment: 开头。

这些在分发出去的链接里没有任何正当用途。javascript: 试图在当前页面的上下文中执行代码;data: 把内容直接嵌在地址里,绕开一切域名检查——因为根本没有域名可查。

常见的 http: 和 https: 没有问题。tg:、sms:、market: 这类唤起已安装应用的协议也是正常的。

2. 地址里带着账号密码

https://taobao.com@evil.top/

看上去是淘宝的链接。实际去往 evil.top。

@ 之前的所有内容都会被浏览器当作用户名和密码,这部分在 RFC 3986 中定义为 userinfo。真正的主机名是 @ 之后的部分。

这个手法很老,但一直有效,因为视线会锚定在字符串开头。正规的公开链接里从不出现登录凭据。

3. 用 IP 代替域名

http://185.12.34.56/login

裸 IP 没有历史、没有信誉,也查不到所有者。正规业务没有理由把登录表单放在 IP 上——域名很便宜,而信任正是建立在域名之上的。

4. 链接直接指向可执行文件

地址结尾是 .exe、.scr、.jar、.ps1、.hta 这类扩展名。

这里需要区分,因为文件与文件不一样。通过短链分发自家安装包是正常场景,来自已知厂商的 .apk、.msi、.dmg 并不可疑。但 .scr(Windows 屏幕保护程序)和 .hta 基本上已经没有正当用途,这两种格式如今几乎只出现在攻击工具里。

仿冒知名品牌

5. 域名里出现别人的品牌

alipay-anquan.top sf-express-chaxun.xyz jd-huodong-lingqu.online

这是肉眼可读的最强信号。逻辑很简单:如果域名援引了某个品牌却不属于该品牌,那就是有人希望你把两者搞混。

一个常见误解是钓鱼只存在于廉价后缀里。.com 和 .cn 上的钓鱼域名一样多。后缀会增加嫌疑,但后缀正规并不能消除嫌疑。

6. Punycode 与同形字

域名以 xn-- 开头,或者地址里出现看起来像拉丁字母、实际不是的字符。

西里尔字母 а、е、о、р、с 与拉丁字母 a、e、o、p、c 在视觉上完全一致。把其中一个字母替换成另一套字母表里的孪生字符,域名看起来和原版一模一样,实际上是完全不同的域名。编码之后它会变成以 xn-- 开头的字符串。

Punycode 本身是合法的——所有中文域名都依赖它。它变得可疑,恰恰是在解码后的名字复现了知名品牌的时候。

7. 域名的形态

alipay.com.login.anquan.top taobao-cn-dingdan-chaxun.xyz

这个手法叫做「把真域名埋进别人的域名里」。第一个例子中真正的主机是 top,alipay.com 只是子域名的一部分。浏览器从右往左读域名,人从左往右读,整个骗局就建立在这个差异上。

形态本身就是信号:层级过多、连字符过多、名字长得不自然。就算你不认识那个品牌,形态也已经不对劲了。

找到第一个单斜杠之前的最后两段,那才是真正的域名。左边的一切都只是装饰。

一次性域名的迹象

这一组回答一个问题:域名是为真实项目注册的,还是为一次活动批量生成的?

8. 名字里带编号

id-12345.top order_987.cn track123.xyz

这类名字由程序自动生成,常常一个受害者一个。正规生意要的是好记的名字,不是流水号。

9. 纯数字域名

如开头所说,判断依据是位数而不是「是否为数字」。这是本文里最容易被英文资料带偏的一条。

10. 域名后缀

后缀之间的差别在于价格和准入门槛,这直接反映在滥用统计上。注册只要几分钱又不需要任何核验的后缀,自然会被批量注册。

但不要用力过猛。.shop、.online、.store、.info 是大众商业后缀,普通电商就在上面,把它们和 .cfd 归为一类只会不断产生误判。后缀本身决定不了任何事,只有和其他信号叠加时才有分量。

11. 免费托管与建站平台

*.pages.dev *.web.app *.ngrok-free.app

这里的二级域名属于平台,所有用户共用。它的信誉说明不了具体某个子域名的情况,而被封之后换一个子域名的成本是零。

这些平台上有大量正常项目。但如果这样的地址打开的是银行登录表单,那就一定不是银行。

上下文

12. 短链服务的跳转链条

你展开了短链接,得到的还是一个短链接。

把短链串起来几乎没有正当理由。但这是绕过检测的常规手法:检测系统查看目标域名,看到的是一个干净的跳转服务,真实地址还藏在下一跳之后。

一直展开,直到看见一个普通域名为止。

13. 域名里的诱饵词

login-、anquan-(安全)、zhifu-(支付)、kuaidi-(快递)、huodong-(活动)这类词根。

列表里最弱的信号,也应该按最弱来对待:kuaidi-chaxun.com 完全可能是真实的物流查询站。它的价值只在与后缀、形态或品牌叠加时才显现。

14. 链接是怎么到你手上的

最后一个信号不在地址里。

你在等这个链接吗?发送者是他自称的那个人吗?消息在催promoting——账号一小时后冻结、包裹卡在海关、奖品今天到期?它是从陌生账号的私信发来的,还是出现在别人帖子的评论里?

紧迫感加短链接是一个非常稳定的组合。制造紧迫感的目的,恰恰是让你跳过上面所有步骤。

汇总

分组 信号 权重
单独成立 javascript:、data:、file: 协议 一个即可
单独成立 @ 之前带凭据 一个即可
单独成立 用 IP 代替域名 一个即可
单独成立 可执行文件(.scr、.hta) 一个即可
品牌仿冒 域名含他人品牌
品牌仿冒 Punycode 复现品牌 叠加时高
品牌仿冒 域名形态、层级、连字符
一次性域名 id-12345 模式
一次性域名 长数字域名 取决于位数
一次性域名 廉价后缀 低,须叠加
一次性域名 免费托管子域名 低,须叠加
上下文 短链跳转链条
上下文 诱饵词 低,须叠加
上下文 链接来源

如果已经点了

仅仅打开一个链接通常不会造成感染——现代浏览器不会执行它所渲染页面中的任意代码。真正的损失从之后开始。

  1. 什么都不要输入。 账号、密码、短信验证码、银行卡信息都不要填。目标是表单,不是那一次点击。
  2. 关掉标签页,不要再从同一个链接进入。
  3. 如果已经提交了信息,立刻手动输入网址进入真实站点修改密码。如果涉及银行,拨打卡背面的电话。
  4. 如果下载了文件,不要运行。删除并对设备进行查杀。
  5. 检查该账号的登录设备与活跃会话,结束不认识的那些。

两个误区

「有小锁、是 HTTPS,所以安全。」 证书只能证明连接经过加密,别的什么都证明不了。免费证书几分钟就能自动签发,钓鱼站点用 HTTPS 已经很多年了。小锁描述的是通道,不是通道另一端的人。

「短链接本身就可疑。」 缩短网址是很平常的工具:节省空间、便于统计点击、替代带着一堆参数的不可读网址。利弊在短链接优缺点分析里有讨论。二维码同理——它不过是一个地址的容器,而这个地址在扫描之前同样无法阅读,详见什么是二维码。

问题不在于缩短,而在于地址无法用眼睛读出来。解决办法是展开链接,而不是放弃这项技术。

如何举报恶意链接

如果某个 Lix.li 短链接指向钓鱼或恶意内容,请通过滥用举报页面反馈。请附上链接本身以及它背后打开的内容。禁止发布的内容列在服务条款中,其他问题可以联系支持。

无论使用的是哪家短链服务,举报目标地址都是值得的。把最终地址提交给 Google Safe Browsing,一旦确认,Chrome、Firefox 和 Safari 的用户都会看到警告,而不只是收到那一个短链接的人。