WordPress安全检测工具
Wordpres是一款非常流行cms系统,市面上有相当一部分的博客和站点都是使用wordpress搭建。正因为大多博客都使用wordpress,所以其安全性就显得尤为重要。
我们平时维护一个站点(不仅仅是wordpress站点)、保证其安全需要从服务器软件更新、浏览器、病毒、口令是否强壮、是否有后门等多方面入手,这种检查必须是非常频繁和及时的。同时,wordpress软件本身又很多漏洞,有时候一个0day漏洞的出现会让你措手不及。
在这篇文章里,我们会讨论到一些wordpress安全工具。
工具是把双刃剑,请不要使用安全工具进行违法和不正当行为。
Plecost WordPress Fingerprinting Tool:
Plecost是一款非常棒的wordpress安全检测工具,你可以在backtrack、backbox和blackubuntu中找到它。Plecost包含一个较全面的插件数据库并能检查出wordpress是否存在CVE发布的漏洞。
Plecost可以在两种模式下运行,一种是通过一个特定URL作为目标,一种是通过google搜索多个结果。我们这里举例的模式是前者,即一个特定的url。
上图我们可以看到plecost的选项以及简单的使用说明。
接下来我们使用
root@bt:/pentest/web/scanners/plecost# ./plecost-0.2.2-9-beta.py -i wp_plugin_list.txt -c http://127.0.0.1/wordpress 命令检查目标url并比对是否存在cve漏洞
可以很直观的看到结果,不少弱点暴露出来了
WPScan – WordPress Security Scanner
WPSCAN是另外一款优秀的wordpress安全检测工具。它的功能包括:用户、插件枚举,列目录,插件漏洞检测和wordpress主题检查、文件发现。
列插件是最基本的功能,命令格式如下:
root@bt:/pentest/web/wpscan# ruby wpscan.rb –url www.target.com –enumerate p
我们这对127.0.0.1/wordpress检查
root@bt:/pentest/web/wpscan# ruby wpscan.rb –url http://127.0.0.1/wordpress –enumerate p
很清楚的列出了结果
接下来,我们来看看如何爆破wordpress的用户名和口令
暴力枚举用户名的命令如下 |
如下图,我们爆出了两个存在的用户名 |
然后我们尝试爆破密码,当然要导入字典,使用命令如下
ruby wpscan.rb –url www.example.com –wordlist wordlist.lst –username admin
其中,admin是我们刚刚爆出的存在的用户名。
当然,你也可以不指定用户名,直接输入命令
ruby wpscan.rb –url www.example.com –wordlist wordlist.lst即可
CMS – Explorer
CMS-Explorer与上面两个工具功能大同小异,它是使用perl编写的。
我们依然对本地url做测试:
root@bt:/pentest/enumeration/web/cms-explorer# ./cms-explorer.pl -url http://127.0.0.1/wordpress -explore -type wordpress
CMS-Explorer会帮我们枚举列出插件
但我们如何确定目标url是否存在漏洞呢?
通过使用命令
root@bt:/pentest/enumeration/web/cms-explorer# ./cms-explorer.pl -urlhttp://127.0.0.1/wordpress -explore -type wordpress –osvdb
通过比对OSVDB数据库,CMS-Explorer会列出目标url存在的漏洞:
http://osvdb.org/42253 Sniplets Plugin for WordPress /modules/syntax_highlight.php libpath Parameter Remote File Inclusion
http://osvdb.org/42254 Sniplets Plugin for WordPress view/sniplets/warning.php text Parameter XSS
http://osvdb.org/42255 Sniplets Plugin for WordPress view/sniplets/notice.php text Parameter XSS
http://osvdb.org/42256 Sniplets Plugin for WordPress view/sniplets/inset.php text Parameter XSS
.htaccess and WordPress
不管是保护wordpress还是其他任何网页,.htaccess文件都是非常有用的。什么是.htaccess?
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
我们下面会讲如何配置.htaccess保护wordpress:
首先,限制wp-admin文件夹被非管理员访问。
order deny,allow
allow from 116.76.45.1
deny from all
值得注意的是,你需要把.htaccess文件放在wp-damin目录下。
如果你想要阻止某个IP段访问(注意116.76.45.是一个IP段)
order allow,deny
deny from 116.76.45.
allow from all
我们可以再增加一些脚本执行的限制
RemoveHandler cgi-script .cgi .php .py
AddType text/plain .cgi .php .py
Conclusion总结
wordpress有许多插件和应用漏洞易被攻击者利用,并且攻击者更会使用社工手段获取管理员信息来攻击网站。作为一个合格的网站管理员,在做好技术防御之外,拥有足够的安全意识和警惕性也非常重要。