【问题标题】:How to prevent hacking to SQL database?如何防止黑客入侵 SQL 数据库?
【发布时间】:2015-10-08 15:59:52
【问题描述】:

我有一个ASP.NET 网站,由GoDaddy 托管在共享服务器上。

每周,有人更改我的数据库中的值并将广告文本添加到我的项目描述中。我曾经将密码更改为数据库,它帮助了大约一个月。我的连接字符串存储在web.config 文件中。

有什么方法可以提高我的数据库的安全性?如果我将连接字符串硬编码在代码中,会有帮助吗?还有其他更好的方法吗?

【问题讨论】:

  • 您需要了解它是如何被黑客入侵的。可能是 SQL 注入。如果他们实际上可以访问 web.config,那么他们可能拥有您的 FTP 凭据(或 go daddy 用于允许您上传文件的任何凭据),或者他们正在利用服务器中未修补的漏洞。
  • 告诉我们黑客在您的 dB 中放入了哪些广告文字?这可能会导致其他经历过同样情况的人对黑客有更多的信息。我个人在托管服务器上的 aspx 文件中嵌入了链接,NHL Jersey url 仅对网络爬虫可见。告诉我的主人似乎很快就解决了这个问题......

标签: sql asp.net


【解决方案1】:

首先你需要问托管人,这是怎么回事?有时您的 FTP 详细信息被黑,然后访问 web.config 文件。首先您尝试更改您的控制面板和 FTP 密码。(然后使用非常强的密码)。

或者你可以加密连接字符串的另一件事。检查这个link,你可以了解如何加密和解密它。

很可能是 SQL 注入。

【讨论】:

  • 我使用存储过程。我认为这是防止SQL注入的方法。我错了吗?
  • @Itay.B - 如果您专门使用存储过程 - 并且这些存储过程不使用任何动态 SQL,那么它就不可能是 SQL 注入。
  • @MartinSmith,那么我猜 TechGuy 是对的,有人拿走了我的 ftp 密码并用它来获取数据库密码。
【解决方案2】:

如果您知道攻击发生的时间,您应该深入研究数据库服务器日志。例如SQL Server 提供审计日志和事务日志。在那里寻找任何线索。

无论如何,正如您所说,更改密码可以暂时阻止攻击,在我看来,有人可能可以访问您的配置文件。您可能想要对其进行加密。有一个例子:Encrypting Web.Config

对于可能的SQL Injection 攻击,您还可以 grep 您的 HTTP 日志。这个blog post 说明了如何去做。

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多