19

我的一个定制开发的ASP.NET网站今天被黑了:“被天鹅黑了(请停止战争!..)”它使用的是 ASP.NET 和 SQL Server 2005 以及 IIS 6.0 和 Windows 2003 服务器。我没有使用 Ajax,我想我在连接到数据库的任何地方都使用存储过程,所以我不认为这是SQL 注入。我现在已经删除了文件夹的写权限。

我怎样才能知道他们做了什么来入侵网站以及如何防止它再次发生?

服务器是最新的所有 Windows 更新。

他们所做的是将 6 个文件(index.asp、index.html、index.htm、...)上传到网站的主目录。

我应该上传哪些日志文件?我有来自此文件夹的 IIS 日志文件:c:\winnt\system32\LogFiles\W3SVC1. 我愿意向你们中的一些人展示它,但不认为在互联网上发布是好的。有人愿意看看吗?

我已经在谷歌上搜索过,但我唯一发现还有其他网站被黑客入侵——我还没有看到任何关于它的讨论。

我知道这与编程并不严格相关,但这对程序员来说仍然是一件重要的事情,很多程序员都被这样黑过。

4

8 回答 8

13

看来,对您网站的攻击是 SWAN 于 2008 年 11 月 21 日对运行 IIS 6.0 的 Windows 2003 和 Windows 2000 机器进行的大规模破坏的一部分。这里的其他人提出了一些建议。我只想补充一点,每当您决定启动该网站时,请格式化该框并从头开始重新安装。一旦一个盒子被破坏,它就根本不可信,但是你可以清理和净化它。

于 2008-11-21T13:09:18.527 回答
5

IIS 进程

检查您的 ASPNET 进程是否没有权限在服务器上写入文件。如果您需要该进程具有写入权限,则只允许它们对特定文件夹执行此操作,并拒绝所有用户帐户对该文件夹的执行权限。

SQL 注入

要查看寻找 SQL 漏洞的人,请查看您的日志文件中的以下文本“CAST(”。

你有没有在后面的代码中构建 SQL 来查询数据库的地方?这些可能容易受到 SQL 注入攻击。通过替换以下代码,您将更加安全。

Dim strSQL As String = "Select * FROM USERS Where name = '" & Response.Querystring("name") "'"

然后考虑如下替代方案。

Dim strSQL As String = "Select * FROM USERS Where name = @name"

然后在sql命令中加入对应的SQL PAParameter。

于 2008-11-21T12:39:09.790 回答
2

希望您已经打开了 IIS 日志文件,并希望黑客没有删除它们。默认情况下,它们位于:c:\winnt\system32\LogFiles\W3SVC1 并且通常以日期命名。

然后弄清楚如何使用免费的日志解析器(来自 Microsoft)可能会有所帮助。然后使用本指南帮助您以取证方式查看您的日志文件。您是否有防火墙,因为它的系统日志可能会有所帮助。

另一个可以帮助您找到 sql 注入问题的不错的工具是到这里下载 HP 的 Scrawlr。

如果您对所发现的内容有任何疑问,请回来询问。

于 2008-11-21T13:05:34.867 回答
2

好吧,对于初学者来说:

  • 你给你的服务器打补丁了吗?
  • 您是否还有诸如FrontPage 服务器扩展、Web 的 Office 扩展等之类的东西挥之不去?
  • 你确定你没有 SQL 注入漏洞吗?
  • 您是否在 Google 上搜索过“Hacked by swan”这个文本?有很多命中,也许其中一个已经弄清楚了他的入口

如果您确实有或不确定是否有 SQL 注入问题,那么您可以在这里进一步询问,否则我会请一些安全专家来帮助您。

这确实是一个编程站点,因此除非您的问题与编程有关,否则它很可能会再次关闭。

于 2008-11-21T11:03:46.627 回答
1

您可能想尝试使用Metasploit之类的渗透工具包来发现任何明显的漏洞。

此外,如果您的日志文件未被篡改,请发布它们。

于 2008-11-21T12:47:41.347 回答
0

FTP 是否开启?

我曾经有一个客户出于某种原因打开了他们的 FTP,而黑客刚刚设置了一个运行的机器人,尝试随机/普通用户/密码组合。那个黑客比你的更糟糕,因为它没有显示在网页上,而是试图安装一个 ActiveX ......

因此,您可以检查您的 FTP 日志。

于 2010-03-19T09:59:43.260 回答
0

设置 Google Analytics 并查看对您的网站提出的所有请求。如果您通过查询字符串处理 SQL 注入,您可以轻松找出他们做了什么,以及他们是如何发现您的漏洞的。

于 2010-03-19T09:53:28.190 回答
0

您应该做的第一件事是检查您的日志文件。您可以将它们粘贴在这里,如果我们识别出攻击,我们会告诉您。

于 2008-11-21T11:28:21.740 回答