刚吃饭的时候突然想起来个事,谷歌上上个月开放了.zip顶级域的购买,我校某不良学长立马学以致用写了个钓鱼网页,成功忽悠了一批学弟,罪大恶极。

言归正传,接下来介绍一下这个域名可以怎样用来钓鱼。

当我们在浏览器地址栏输入一条URL,在https://和@运算符之间的所有内容都被视为用户信息,而@之后的所有内容都被视为主机名。但是Chrome、Safari、Edge等主流浏览器出于某些原因,只把用户定向到URL的主机名部分,比如访问one.com@two.com实际上会将用户带到two.com而非one.com。

但是,如果在@之前的URL中添加斜线/,例如one.com/search@two...,浏览器将开始解析斜线之后的所有内容,此时访问的就是one.com加上斜线后面的内容(整个URL)。

那么,假如现在有一个URL,长得像one.com/search@two...,你以为点击后会访问one.com/search@two...,但其实你访问的是two...链接,那么钓鱼的目的就达成了。

根据2016年的Chromium错误报告,主机名中允许使用Unicode字符U+2044(⁄)和U+2215(∕),而这两个字符恰巧长得都很像合法的正斜线字符U+002F(/)。那么,访问one.com⁄search@two.com,会将用户定向到two.com,因为U+2215斜线被视为URL的UserInfo的一部分,而不是路径的开头。

现在,假如大学C语言老师要你访问dlut.edu.cn/releases/vscode-v1.82.2.zip以下载VSCode软件(这链接我瞎编的),这时候出现了一个不良学长Sth(化名),抢注了v1.82.2.zip域名,并且在大车埋土大学2023新生群里发了一条消息:vscode下载链接是dlut.edu.cn⁄releases⁄vscode-@v1.82.2.zip,然后兴高采烈地看着一个接一个新生访问他写的钓鱼页面。

虽然任何邪恶终将绳之以法,但是预防总是远好于治疗,这种钓鱼URL的可用场景也比较多,比如在钓鱼邮件中带上恶意链接,因为前缀是https且是合法的域名,目前这种邮件应该无法被拦截。也可以像上文的Sth学长一样诱导他人点击,目前这种钓鱼URL还没有被QQ、钉钉、微信等主流IM软件识别并报毒。

说起上文的三种斜线,其实很多符号也都有李逵和李鬼。比如用不同的空格符号写在文件夹名字开头(一般情况下文件/文件夹名字开头是不能有空格的),这时这个文件夹就会被排序到资源管理器的第一位: 1.半角空格(英文符号)\u0020,最常见的空格,就是键盘空格键打出来的; 2.不间断空格\u00A0,主要用在Office中,让一个完整单词在行末不换行,快捷键Ctrl+Shift+Space; 3.全角空格(中文符号)\u3000,中文文章中使用; 4.还有好多种空格,懒得整理了。