网络安全 频道

[攻防手记]轻轻松松解密各种网页木马

    下面我们再来看一种加密方式

    这个是申通快递被挂马的时候抓到的,后来无意中得知这个加密方式用到的是JS混淆,http://www.cha88.cn/safe/JSencode.php这个网站有这个加密方式,但是没有解密方式。怎么办?简单!

    大家一起看看最后这段代码:

    t=utf8to16(xxtea_decrypt(base64decode(t), '\x64\x63\x75\x6d\x65\x6e\x74'));//对t数组进行提取、重组、解密处理

    window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"] (t);//输出加密后的t的内容

    是不是有什么感觉?觉得像什么?

    我们把\x64\x6f\x63\x75\x6d\x65\x6e\x74和\x77\x72\x69\x74\x65分别用我们刚才的alert的办法解密出来,他们分别对应的是document和write,也就是说最后这2行的意思就是对t数组进行提取、重组、解密处理并输出最后正确的结果。知道这个我们就很容易理解了,所有网马到最后为了输出让浏览器识别,都要进行最后的解密输出。通常就是document.write和eval里的内容了。那么我们用刚才的document.getElementById('textfield').value=t;替换掉window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"] (t);并再页面顶端的<body>下面加入如下代码:
    <form id="form1" name="form1" method="post" action="">
    <label>
    <textarea name="textfield" cols="100" rows="50"></textarea>
    </label>
    </form>

    再次运行网马。即可得到第一层解密的结果:

    这还不是我们要的最终结果。还记得上面讲过的?遇到eval就替换为alert:

0
相关文章