「调皮」的垃圾邮件

前几天在QQ邮件里收到一封没有被识别的垃圾邮件。我们知道邮箱提供者都会使用反垃圾邮件技术来识别和过滤垃圾邮件,但是”道高一尺,魔高一丈“,接下来宝哥就用一个‘捐业’前端攻城狮的眼光来带你剖析一下,这篇‘调皮’的垃圾邮件是如何轻(sang)而(xin)易(bing)举(kuang)的躲过腾讯的垃圾邮件检测的。

躲过文字检测

如图: QQ垃圾邮件

首先他用一堆的input文本框标签来包含所有文字信息,然后注意看:

  • 每一个input文本框中的value的第一个字(符)才是有效信息,后面的字八成用程序随机产生的随机数量和意义的字。这样就干扰了垃圾程序分析整篇邮件的意思,也就没法直观的判断它是一封垃圾邮件了。但有个问题是,这样一来,程序‘看不懂’,那人不也看不懂吗?别急,往下看。

  • 然后它通过CSS设置input文本框的宽度和字体大小来使文本框只显示第一个字,如图中的红色横线所示,上面的FONT-SIZE设置成13px,下面的文件框的WIDTH设置成11px,这样一来的效果就是,每个input的第一个字刚刚露出来,其它的字被盖在了input文本框里面,这样人看的时候,就把每串input文件框中的第一个字连起来了,组成了垃圾邮件发送者想要‘表达’的意思了。是不是有种看古代藏头诗的‘乐趣’?

躲过链接检测

如下图:

QQ垃圾邮件中的网址隐藏

注意看右侧链接的href所包含的网址信息,是一堆‘人’看不懂的东东,别怕,这只是一堆经过16进制或者8进制转换的数字而已,为什么这么说呢,Look: 数字进制转换示例 而把中间的.组合起来,没错,‘迷底’揭开了,就是一个ip地址,即垃圾邮件终极目标:要‘勾引’你去的目标网站所在的服务器IP地址。

当我打开这封邮件,同时打开Chrome控制台,并且发现这一切的时候,已然是浑身的冷汗。原来普通的前端技术还可以用来这么玩,发件者真是。。太「调皮」了。。。让我忍不住重重的点了一下邮件上方的举报垃圾邮件。。。