黑客可以用我的wp-config.php做些什么


11

我试图保护我的wordpress博客。我在网络上阅读了一些帖子,应该改变我的table_prefix身份并且隐藏我的身份wp-config.php。但是,我不明白吗?攻击者可以对我做wp-config.php什么?

我的意思是我的数据库配置,但是攻击者需要我DB_HOST举例来说,这是不那么容易得到的,为了连接到我的分贝(在我的情况下,其?define('DB_HOST', 'localhost');,其中,攻击者无法使用连接到我的分贝)

还是我想念某物?

非常感谢您的回复!


我想,对他来说,注入SQL很容易。已加星标。等待专家回答这个问题。
罗伯特·

您也可以将其发布在《Programming Puzzles&Code Golf》测试版中,并查看人们的想法。:)
约书亚·泰勒

1
@JoshuaTaylor请不要。除了明显的道德问题外,这也不是我们网站的目的:我们只喜欢能够有客观获胜标准来决定哪种解决方案获胜的问题,而不仅仅是“嘿,让我们一起编写代码并玩得开心!Yaaaay!”
门把手2014年

@Doorknob好吧,显然这是一场人气比赛。但是,我恳切希望“ :)”能表明我并不认真。如果有人因此尝试发布其wp-config文件,请接受我的歉意。
约书亚·泰勒

Answers:


9

localhost指正在运行的机器。例如,在我自己的网站上,tomjn.com localhost 127.0.0.1始终保持不变。这并不意味着黑客不知道在何处连接,而是意味着黑客将替换localhosttomjn.com

当然,如果我前面有一个代理服务器,那么这将不起作用,但是请记住,如果攻击者可以访问我的代理wp-config.php,那么相同的访问权限将使他们可以在该计算机上执行其他操作。

因此,攻击者现在拥有您的数据库详细信息,并且可以读取wp-config.php。他们现在可以访问数据库中的所有内容,并且可以更改数据库中的任何内容。

根据安装的安全性,他们可以为自己创建用户,登录,使用PHP Shell脚本通过zip上传插件,开始发布命令或将该站点用作僵尸网络的一部分。

它们还包含您的盐和秘密密钥(如果您没有这些盐,那么,坏,坏,坏),因此强行强制用户密码变得非常容易。他们还可以访问他们的电子邮件。

足以说得到wp-config.php是可能发生的最糟糕的事情之一。它可以完成更多的工作,但是要花费数月的时间来找出由此产生的所有可能的攻击。

如果您wp-config.php被收购了,很可能是由自动攻击脚本而不是实际人员完成的。更改所有详细信息,重设所有密码,然后关闭孔。


2
这并不意味着黑客不知道在何处连接,而是意味着黑客将替换localhosttomjn.com>假设您拥有外部环境可以访问的数据库端口。如果您关闭防火墙规则中的端口,仅允许本地网络上的计算机(包括运行wordpress本身的计算机)连接到数据库,您是否安全?
IQAndreas 2014年

1
它仍然是正确的位置,但是是的,端口是相关的,我主要针对的是问题的原始记录
Tom J Nowell

2

如果您仅接受来自的数据库访问权限localhost(这不是通过定义DB_HOST为实现的localhost)?本身并没有太多(最坏的情况是攻击者接管了管理员帐户),但与其他漏洞结合使用,可能有助于攻击者访问您的配置。

登录信息

人们重复使用其用户名和密码。攻击者将检查您的数据库用户名和密码(或它们的变体)是否适用于您的wordpress安装,托管人,电子邮件等。

至少,攻击者会了解您使用哪种密码(完全随机,仅小写/数字,长度等)。

表前缀

如果可以进行SQL注入,则攻击者必须知道表名。根据数据库的不同,这可能很容易,也可能涉及猜测。如果确实涉及猜测,则最好具有表前缀。

钥匙和盐

我发现这篇文章表明您确实不希望这些泄漏(基本上,任何人都可以接管您的管理员帐户),尽管我不知道它是最新的。

数据库字符集

某些SQL注入取决于字符集,因此对攻击者来说这很重要。

摘要

如果您不允许外部访问数据库,或者您不重复使用密码,并且在任何地方都没有任何SQL注入,那么主要的麻烦就是密钥和盐。


那篇文章是最新的。您不希望盐和钥匙泄漏。这些是私人信息。如果您甚至怀疑它们已经可用,请立即将它们更改为其他随机数据集。更改它们没有实际的负面影响,它只会使您退出网站,而您必须重新登录。您可以从此处获得一组新的随机密钥和盐:api.wordpress.org/secret-key/1.1/salt
Otto

1

我假设您是在询问读取访问权限,因为写入访问权限基本上就是注入自己的代码以执行他喜欢对您的网站进行的访问的权限。

您认为数据库信息不敏感的假设是错误的。让我们假设您的网站托管在godaddy。godaddy AFAIK使用的专用mysql服务器可能只能从其自己的服务器进行访问,但是如果我知道您的详细信息,那么创建godaddy帐户并编写访问数据库的脚本对我来说有多难?如果是本地数据库,则很难利用,但是在共享托管服务器上,您可能有100个与您共享服务器的站点,您能否相信它们的安全性足以使Evil先生无法闯入它们并使用它们来攻击您的站点?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.