之前小编曾经写过两篇关于 WordPress 防黑的教程,分别是 《WordPress 网站终极防黑手册,全方位保护网站安全 (一) 》以及 《WordPress 网站终极防黑手册,全方位保护网站安全 (二) 》。其实在第一篇防黑教程中小编提到过 WordPress 爆路径的问题,并且给出了隐藏 WordPress 程序路径的方法。但是昨天小编在研究 WordPress 链接重写时发现另一个 WordPress 的程序路径泄露 bug,如下图:

如上图所示,如果目标站是 WordPress 搭建的网站,我们只要访问 http://目标站.com/?robots=1 则会看见如上所示的,WordPress 系统生成的默认的 robots.txt 文件。而该内容信息则是

User-agent: *
Disallow: /WordPress 系统所在目录/wp-admin/
Disallow: /WordPress 系统所在目录/wp-includes/

这样也就暴露了 WordPress 程序所在目录,可以被黑客利用来进一步对网站实施攻击。解决方法很简单只要在主题的 functions.php 文件中加入以下代码即可:(感谢 @源码集合 的提醒,代码已更新。)

//解决 robots 爆路径
$bots = $_GET['robots'];
if (!$bots){}
else {
    echo '<head><meta http-equiv="Content-Type" content="text/html; charset=utf8"/></head>';
        echo '请勿试图攻击本站!';
        exit;
        }

至于怕爬虫抓取了系统的 php 文件可以在 robots.txt 里加入以下代码:

Disallow: /*.php$

另外 WordPress 还有个泄露当前系统版本号的 bug,只需要访问以下链接:

http://目标站.com/?rss=feed2

则会在该页面看到如下内容:

在该页面可以看到当前 WordPress 系统的版本号,这样黑客就可以利用已知的漏洞来对网站进行攻击,修复方法,只需要在当前 WordPress 主题的 functions.php 文件加入以下代码:

//去除版本信息
function wxd_remove_version() {
return '';
}
add_filter('the_generator', 'wxd_remove_version');

这样即可防止 WordPress 的 feed 页面泄露系统信息了。