我正在努力保护我的wordpress博客。我在网上看到一些帖子,我应该改变我的table_prefix
隐藏我的wp-config.php
. 但是,我不明白吗?攻击者可以对我的wp-config.php
?
我的意思是有我的db配置,但攻击者需要我的DB_HOST
例如,要连接到我的db,哪一个不是那么容易获得?(我的情况是:define(\'DB_HOST\', \'localhost\');
, 攻击者无法使用它连接到我的数据库)
还是我错过了什么?
非常感谢您的回复!
我正在努力保护我的wordpress博客。我在网上看到一些帖子,我应该改变我的table_prefix
隐藏我的wp-config.php
. 但是,我不明白吗?攻击者可以对我的wp-config.php
?
我的意思是有我的db配置,但攻击者需要我的DB_HOST
例如,要连接到我的db,哪一个不是那么容易获得?(我的情况是:define(\'DB_HOST\', \'localhost\');
, 攻击者无法使用它连接到我的数据库)
还是我错过了什么?
非常感谢您的回复!
localhost
指它运行的机器。例如,在我自己的网站tomjn上。com本地主机为127.0.0.1
一如既往。这并不意味着黑客不知道连接到哪里,而是意味着黑客替换了localhost
具有tomjn.com
.
当然,如果我前面有一个代理,这将不起作用,但请记住,如果攻击者可以访问我的wp-config.php
, 同样的访问权限可以让他们在那台机器上做其他事情。
因此,现在攻击者掌握了您的数据库详细信息,他们可以读取wp-config.php
. 他们现在可以访问数据库中的所有内容,并且可以更改数据库中的任何内容。
根据安装的安全性,他们可以为自己创建一个用户,登录,通过zip上传一个带有PHP Shell脚本的插件,并开始发出命令或将该站点用作bot网络的一部分。
他们也有你的盐和密钥(如果你没有这些,很糟糕很糟糕),所以暴力强迫你的用户密码变得非常容易。他们还可以访问他们的电子邮件。
我只想说wp-config.php
是可能发生的最糟糕的事情之一。可以用它做更多的事情,但需要几个月才能将由此产生的每一次可能的攻击都打印出来。
如果您的wp-config.php
很可能是一个自动攻击脚本完成的,而不是一个真实的人。更改所有详细信息,重置所有密码,然后关闭漏洞。
如果您只接受从localhost
(这不是通过定义DB_HOST
像localhost
)? 本身不会太多(最坏的情况是攻击者接管管理帐户),但结合其他漏洞,攻击者访问您的配置可能会有所帮助。
Login Credentials
人们重用他们的用户名和密码。攻击者将检查您的数据库用户名和密码(或其变体)是否适用于wordpress安装、主机、电子邮件等。至少攻击者知道您使用的密码类型(完全随机,只有小写/数字、长度等)。
Table Prefix
如果可能存在SQL注入,攻击者必须知道表名。根据数据库的不同,这可能非常简单,也可能涉及猜测。如果它确实涉及猜测,最好使用表前缀。Keys and Salts
我发现this article suggesting that you really don\'t want these leaked (基本上,任何人都可以接管你的管理帐户),尽管我不知道它有多先进。Database Charset
一些SQL注入依赖于字符集,因此攻击者最好了解这一点。Summary
如果您不允许外部访问数据库,如果您不重用密码,如果您在任何地方都没有任何SQL注入,那么主要的担忧将是密钥和盐。我假设你问的是读访问,因为写访问基本上是一种访问,可以注入他自己的代码来对你的站点做任何他喜欢的事情。
您认为数据库信息不敏感的假设是错误的。假设您的站点位于godaddy。godaddy AFAIK使用的是专用的mysql服务器,可能只能从自己的服务器访问,但如果我知道您的详细信息,那么创建godaddy帐户并编写访问数据库的脚本对我来说有多困难?在本地DBs的情况下,很难利用它,但在共享托管服务器上,您可能有100个站点与您共享该服务器,您能相信它们足够安全,使邪恶先生无法侵入它们并使用它们攻击您的站点吗?
我有一个有5或6个站点的网络。在网络管理面板中,我可以看到除/wp admin/network/plugins之外的所有页面。php页面和/wp admin/network/upgrade核心。php页面。查看文件夹结构时,这两个文件都存在,但由于某些原因,它们不会加载。非常感谢您的帮助。