标题叫做重拾旧文,聊恶意网站,因为曾写过一篇挺长的文章叫做《说说恶意网站》聊了聊关于恶意网站的一些事,好像很少有人或者我基本没看见有人除了技术性文章写恶意网站的,而我缘于有过一段时间做过这方面的事,所以多少了解下,差不多也快忘了,所以在忘之前给大家再聊聊。
恶意网站是个比较泛的概念,基本你可以理解说对普通网民有害的那些网站,都可以称为恶意网站,比如大家知道的仿冒、钓鱼的,比如仿冒银行、QQ空间等网站,还有存在挂马的、博cai的,以及色情网站在一定范畴内你可以把它归入恶意网站。
大家可能最经常在哪里感受到恶意网站?平时大家可能不大分的清楚哪些是哪些,可能最有概念的是对于钓鱼网站,而实际其实大部分的同学应该经常碰到。比如:
这些可能就是大家最直观感受恶意网站的时候了,为什么不让你访问这些网址,那是因为这些网址被对应的这些软件的系统识别为恶意网站了,为了避免你的损失,所以进行提醒、禁止你访问!
这是我以前对恶意网站的一个相对较细的分类:
盗号钓鱼、仿冒欺诈、黑客入侵、博caido球、淫秽色情、非法交易与销售、病毒木马、违法违规。
这两张图我用了好几次了,主要实在是太敬佩仿冒的人,大家能分的清楚哪个是真正的俏十岁的官网吗?反正不看网址只看页面我是分不清楚,最终我是通过网址认出来的。
这个是典型的仿冒欺诈的网站,只有稍微认真一点的才能发现上面的网址(大家看着可能有点突兀,为了让大家看得清楚,我用 PS 加深了下网址)才能发现第一张图的网址多了个 e,除了页面一样外,网址查看差不多也是仿冒钓鱼网站常用的方式,比如说用 0 代替 o,比如 taota0.com 和 taotao.com,或者 taobao.cm 之类的,或者如上面例子的最后加个不易发现的字母等等,最终的目的是希望让整个网站看起来更像官方网站,这时候如果你相信了它是官网,那么你就会在上面购买面膜等,付的钱最终就跑到别人的口袋,然后面膜是不会给你寄的。
其实仿冒欺诈和钓鱼盗号其实有时分得不是那么清楚,因为大部分都是通过仿冒页面的方式实现,还有类网址,可能大家也不少见:
博caido球的,大家可以通过搜狗新闻搜索去搜索关键词「时时彩」,然后点击搜索的结果体验下(如果点击进去没跳转的多试几个),这类网站没什么好说的,都是假的,不要相信什么周润发do神代言什么的就行了,都是骗钱的,不要尝试去试用,钱进去是出不来的。
违规违法更多指的是违反相关法律法规,比如反动等政治性的违规网站等;而病毒木马也好理解,创宇早年的时候做木马监控很出名,有个挂马监控检测的东西,被很多杀软使用,而最近几年看来,挂马基本已经没落了;再者还有非法销售与交易的就是指卖假药的、卖各种刀具的那些网站,可能大家平时比较少接触;淫秽色情就比较好理解了,我记得在公司做色情网站引擎的时候,因为使用了一些算法等,需要进行样本的训练,于是我在办公室每天正大光明的访问成百上千个黄色网站(说起来感觉好骄傲的样子,哭),然后引擎刚做的时候误报、漏报比较多,也是经常手动访问确认是否色情网站...那种场景和感觉你们可以理解的,我就不多说了......都是泪啊!
恶意网站另外一块比较多的除了仿冒钓鱼外,就是黑客入侵了。最常见的是真的被黑客入侵,只是挂了个黑页,写个 "hacked by xx",这种反而没什么危害,大部分网站被黑主要是用来做黑帽 SEO,比如说有些搞安全的同学可能会碰到说有人找你收权重高的新闻网站的 Shell 等,就是用来做类似的事,其实这些都属于黑产的动作。
除正常被黑外,常见的几种被黑的形式有:
1、暗链,也叫黑链
2、Referer 作弊
3、UA 作弊
暗链大部分不会影响页面的正常显示(影响的说明弄的人技术太烂...),通过在网页里加入在页面中不可见的标签,比如用 CSS 设置 display:none,或者设置 DIV 高度为0等,这样可以使得代码里明明有的内容在页面上不可见,然后加入一些需要做 SEO 的关键词,一般会选择一些权重高的网站,这样搜索引擎在爬取这些正常网站的时候也会爬取到那些额外加入的关键词,比如加入一些博cai网站的关键词和链接。
网站底部的这些关键词其实在页面中不可见。
然后其次是UA作弊,也是一种黑帽SEO的方式。UA作弊的方式很简单,就是判断网站访问者的UA头,当判断UA是搜索引擎的爬虫,就返回想进行SEO的内容,如果不是,就返回正常页面。
这两张图,是同一个网址,前者是正常访问时显示的内容,后者是我修改了浏览器的UA为「Googlebot/2.1」时再次访问显示的内容,因为上面那个字符串是谷歌爬虫的UA。
还有 Referer 作弊,还是黑帽SEO。Referer作弊的原理有点类似于UA作弊,不过它判断的是Referer。比如说你通过搜索引擎的搜索结果点击跳转过去,那么就会带上比如地址是 的Referer,那么就会跳转到构造的地址,而如果直接访问目标网址,则是正常页面。
大家可以试下使用Referer 为 去访问 和不带 Referer访问的效果。