刚刚发送了JS病毒。如何安全显示输出?

时间:2010-09-21 13:32:53

标签: javascript unicode virus

我刚收到一个看起来像这样的病毒

<script type='text/javascript'>
<!--
var s="=nfub!iuuq.frvjw>#sfgsfti#!------REST OF PAYLOAD REMOVED-----?";
m=""; 
for (i=0; i<s.length; i++) 
{   
if(s.charCodeAt(i) == 28)
{     
m+= '&';
}
 else if 
(s.charCodeAt(i) == 23) 
{     m+= '!';} 
else 
{     
 m+=String.fromCharCode(s.charCodeAt(i)-1); 
}}
document.write(m);//-->
</script>

我不是JS专家,但我想解密该字符串的内容。你能告诉我改变document.write的最佳方法,看看它在做什么吗?

4 个答案:

答案 0 :(得分:4)

只需创建一个<textarea id="foo"></textarea>,然后写

document.getElementsById('foo').value = m;

或者,您可以将<&编码为&lt;&amp;并保留document.write


仅供参考,有效载荷以

开头
<meta http-equiv="refresh" 

所以看起来它只是将用户重定向到恶意网站。

答案 1 :(得分:2)

使用Malzilla解码URL。 http://malzilla.sourceforge.net/

答案 2 :(得分:1)

由于m是一个字符串,您只需将document.write()替换为alert()即可。 Jsfiddle demo

它似乎正在创建元刷新标头,可能意图将其注入当前HTML页面的头部,以便重定向到另一个(恶意?)页面。

答案 3 :(得分:1)

不要在浏览器中运行它,而是尝试在FireBug中运行它(例如document.write(m)行除外 - 只需使用FireBug查看m变量的内容)。

其中大部分将iframe嵌入您的网站