4

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

<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

4 回答 4

4

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

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

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


仅供参考,有效载荷以

<meta http-equiv="refresh" 

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

于 2010-09-21T13:34:44.270 回答
2

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

于 2010-09-21T16:35:30.507 回答
1

由于m是一个字符串,您可以只替换document.write()alert(). Jsfiddle 演示

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

于 2010-09-21T13:34:22.697 回答
1

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

其中大多数将 iframe 嵌入到您的网站中

于 2010-09-21T13:35:15.720 回答