如何使用WPScan测试Wordpress中的易受攻击的插件和主题
介绍
本文将引导您完成 wpscan 的安装,并作为有关如何使用 wpscan 查找任何已知的易受攻击的插件和主题的指南,这些插件和主题可能会使您的网站容易受到攻击。 使用 wpscan,我们可以以类似于潜在攻击者的方式查看站点的轮廓。 在 Wordpress 网站中使用的插件和主题中发现了数量惊人的安全问题。 这些问题通常是由于不安全的编码实践而发生的,并且经常被用户忽略,并且面临风险的用户通常不会实施补丁。
下载并安装 WPScan
在我们开始安装之前,重要的是要注意 wpscan 不会 在 Windows 系统上工作,因此您需要访问 Linux 或 OSX 安装程序才能继续。 如果您只能访问 Windows 系统,您可以下载 Virtualbox 并将您喜欢的任何 Linux 发行版安装为虚拟机。
WPScan 托管在 Github 上,因此如果尚未安装,我们需要先安装 git 包,然后才能继续。
sudo apt-get install git
安装 git 后,我们需要安装 wpscan 的依赖项。
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev ruby1.9.3
现在我们需要从 github 克隆 wpscan 包。
git clone https://github.com/wpscanteam/wpscan.git
现在我们可以移动到新创建的 wpscan 目录并通过 bundler 安装必要的 ruby gems。
cd wpscan sudo gem install bundler && bundle install --without test development
现在我们已经安装了 wpscan,我们将逐步使用该工具在我们的 Wordpress 安装中搜索可能存在漏洞的文件。 wpscan 最重要的一些方面是它不仅可以枚举插件和主题,还可以枚举用户和 timthumb 安装。 WPScan 还可以对 Wordpress 执行暴力攻击——但这超出了本文的范围。
枚举插件
要枚举插件,我们需要做的就是像这样使用 --enumerate p
参数启动 wpscan。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate p
或仅显示易受攻击的插件:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vp
一些示例输出粘贴在下面:
| Name: akismet | Location: http://********.com/wp-content/plugins/akismet/ | Name: audio-player | Location: http://********.com/wp-content/plugins/audio-player/ | | * Title: Audio Player - player.swf playerID Parameter XSS | * Reference: http://seclists.org/bugtraq/2013/Feb/35 | * Reference: http://secunia.com/advisories/52083 | * Reference: http://osvdb.org/89963 | * Fixed in: 2.0.4.6 | Name: bbpress - v2.3.2 | Location: http://********.com/wp-content/plugins/bbpress/ | Readme: http://********.com/wp-content/plugins/bbpress/readme.txt | | * Title: BBPress - Multiple Script Malformed Input Path Disclosure | * Reference: http://xforce.iss.net/xforce/xfdb/78244 | * Reference: http://packetstormsecurity.com/files/116123/ | * Reference: http://osvdb.org/86399 | * Reference: http://www.exploit-db.com/exploits/22396/ | | * Title: BBPress - forum.php page Parameter SQL Injection | * Reference: http://xforce.iss.net/xforce/xfdb/78244 | * Reference: http://packetstormsecurity.com/files/116123/ | * Reference: http://osvdb.org/86400 | * Reference: http://www.exploit-db.com/exploits/22396/ | Name: contact | Location: http://********.com/wp-content/plugins/contact/
从输出中我们可以看出,audio-player 插件通过 playerid
参数容易受到 XSS 攻击。 我们还看到 bbpress 的安装容易受到路径泄露和 SQL 注入的影响。 请注意,如果可能,手动验证报告的漏洞总是一个好主意,因为扫描程序有时会报告误报。 如果在对您的站点运行这些测试后,您收到任何潜在漏洞的通知,请务必与插件开发人员核实是否有可用的补丁,如果有,需要如何安装补丁。
枚举主题
主题枚举与插件枚举的工作方式相同,只是使用 --enumerate t
参数。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate t
或仅显示易受攻击的主题:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vt
样本输出:
| Name: path | Location: http://********.com/wp-content/themes/path/ | Style URL: http://********.com/wp-content/themes/path/style.css | Description: | Name: pub | Location: http://********.com/wp-content/themes/pub/ | Style URL: http://********.com/wp-content/themes/pub/style.css | Description: | Name: rockstar | Location: http://********.com/wp-content/themes/rockstar/ | Style URL: http://********.com/wp-content/themes/rockstar/style.css | Description: | | * Title: WooThemes WooFramework Remote Unauthenticated Shortcode Execution | * Reference: https://gist.github.com/2523147 | Name: twentyten | Location: http://********.com/wp-content/themes/twentyten/ | Style URL: http://********.com/wp-content/themes/twentyten/style.css | Description:
和之前一样,我们可以看到 Rockstar 主题的安装容易受到远程未经身份验证的短代码执行的影响,这意味着任何人都可以在站点上执行短代码,而无需作为有效用户进行身份验证。
WPScan 还可用于枚举具有有效登录到 Wordpress 安装的用户。 这通常由攻击者执行,以获取用户列表,为暴力攻击做准备。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate u
我们将在本文中讨论的 wpscan 的最后一个功能是枚举 timthumb 安装的能力。 近年来,由于在在线论坛、消息列表和咨询委员会中发现并发布了大量漏洞,timthumb 已成为攻击者非常常见的目标。 使用 wpscan 查找易受攻击的 timthumb 文件是通过以下命令完成的。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate tt
要更新 wpscan:
ruby wpscan.rb --update