记一次用WPScan辅助渗透WordPress站点
记一次用WPScan辅助渗透WordPress站点
一、什么是WPScan?
WPScan 是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的 Web 服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分。 Wordpress 作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪 WordPress 的安全漏洞,Wordpress 自诞生起也出现了很多漏洞。 Wordpress 还可以使用插件、主题。于是 Wordpress 本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件、主题的漏洞去渗透Wordpress 站点,于是 WPScan应运而生,收集 Wordpress 的各种漏洞,形成一个 Wordpress 专用扫描器。该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的 Wordpress 站点暴力破解用户名密码。
WPScan已经被预安装在以下Linux系统中:
二、WPScan的安装和使用
由于 Windows 不支持 WPScan 。最新版本的 WPScan 可以在 Linux 或 Mac 上下载使用:
Debian/Ubuntu下安装:
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
Fedora下安装:
sudo yum install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
Archlinux下安装:
pacman -Syu ruby
pacman -Syu libyaml
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
gem install typhoeus
gem install nokogiri
MAC OSX下安装:
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
具体参考:https://wpscan.org/
常见参数选项:
--update 更新到最新版本
--url | -u <target url> 要扫描的WordPress站点.
--force | -f 不检查网站运行的是不是WordPress
--enumerate | -e [option(s)] 枚举.
Option:
u 枚举用户名,默认从1-10
u[10-20] 枚举用户名,配置从10-20
p 枚举插件
vp 只枚举有漏洞的插件
ap 枚举所有插件,时间较长
tt 列举缩略图相关的文件
t 枚举主题信息
vt 只枚举存在漏洞的主题
at 枚举所有主题,时间较长
可以指定多个扫描选项,例:"-e tt,p"
如果没有指定选项,默认选项为:"vt,tt,u,vp"
--exclude-content-based "<regexp or string>"
当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹
--config-file | -c <config file> 使用指定的配置文件
--user-agent | -a <User-Agent> 指定User-Agent
--cookie <String> 指定cookie
--random-agent | -r 使用随机User-Agent
--follow-redirection 如果目标包含一个重定向,则直接跟随跳转
--batch 无需用户交互,都使用默认行为
--no-color 不要采用彩色输出
--wp-content-dir <wp content dir> WPScan会去发现wp-content目录,用户可手动指定
--wp-plugins-dir <wp plugins dir> 指定wp插件目录,默认是wp-content/plugins
--proxy <[protocol://]host:port> 设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议
--proxy-auth <username:password> 设置代理登陆信息
--basic-auth <username:password> 设置基础认证信息
--wordlist | -w <wordlist> 指定密码字典
--username | -U <username> 指定爆破的用户名
--usernames <path-to-file> 指定爆破用户名字典
--threads | -t <number of threads> 指定多线程
--cache-ttl <cache-ttl> 设置 cache TTL.
--request-timeout <request-timeout> 请求超时时间
--connect-timeout <connect-timeout> 连接超时时间
--max-threads <max-threads> 最大线程数
--throttle <milliseconds> 当线程数设置为1时,设置两个请求之间的间隔
--help | -h 输出帮助信息
--verbose | -v 输出Verbose
--version 输出当前版本
三、WPScan的辅助渗透WordPress站点演示
环境准备
- Kali Linux
- WPScan工具(Kali Linux里面已经预装好了)
- CentOS 7
- WordPress环境(预先在CentOS 7里面搭建好了环境)
渗透过程
1、更新漏洞数据库
在使用WPScan之前,先更新它的漏洞数据库:
wpscan --update

我们直接查看下当前版本:

2、扫描WordPress漏洞
接下来使用下面的命令来扫描可能存在的漏洞网站:
wpscan ––url [wordpress url]
这里我直接用我自己的站点为例子进行演示
wpscan --url http://angelkitty.xin/
效果如下:

3、扫描wordpress用户
我们可以对其用户进行枚举:
wpscan ––url [wordpress url] –-enumerate u

4、暴力破解
wpscan ––url [wordpress url] ––wordlist [path to wordlist] ––username [username to brute force] ––threads [number of threads to use]
既然当前有两个用户 angel_kitty 和 test ,我们直接把两个均枚举出来
wpscan -u 119.23.243.4 -e u --wordlist /root/桌面/password.txt
这里我也有个问题一直没解决,就是用 url 去指定域名和用 username 去指定用户均不太好使,直接就 302 调整爆出了 password ,连字典都没去查,也不知道咋回事,查了 wpscan 的 Issue ,可能是 wpscan 升级了以后,新版本和老版本命令上有所差异,具体以后分析一下 wpscan 的源码,所以演示出这个效果弄了整整一天。

演示效果如下:

视频演示
也欢迎大家关注我的bilibili账号:Angel_Kitty,不定期发送一些演示视频教程
四、WordPress的防护措施
如果你想要避免WordPress用户列表被列举,不要把用户名作为昵称,并且不要使用已经被大众知道的用户名。最好的方式是选择一个包含随机字符的名字做用户名并且使用其他名字作为昵称。 WPScan 扫描 URL 来获取用户名,所以如果你不使用这个用户名,你肯定不会被 WPScan 搜索到。
防止暴力破解的最好方式是限制一个 IP 地址的尝试登录次数。 WordPress 有很多插件可以实现这个功能。我使用的一个插件叫: Brute Force Login Protection 。
记一次用WPScan辅助渗透WordPress站点的更多相关文章
- WPScan使用完整攻略:如何对WordPress站点进行安全测试
转载自FreeBuf.COM 严正声明:本文仅限于技术探讨,严禁用于其他目的. 写在前面的话 在这篇文章中,我将告诉大家如何使用WPScan来对WordPress站点进行安全测试. WPScan是Ka ...
- 针对WordPress站点思路
一.使用WPscan 1).简介 WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题.我们还使用了 ...
- 写一个php小脚本辅助渗透测试
因为一个注入要爬行一些数据,然后写的一个小脚本,能写脚本来辅助渗透,也算是里程碑.哈哈哈 <?php $num = 1; while ($num <= 39) { $web_url = & ...
- 使用WPScan破解wordpress站点密码
我这里使用的Kali Linux,它默认安装了WPScan. 在使用WPScan之前,先更新它的漏洞数据库: # wpscan –update 扫描wordpress用户 wpscan -–url [ ...
- 记一次织梦cms渗透测试
记一次织梦cms渗透测试 0x01 前言 本次测试的整个流程:枚举用户名-针对性暴破-登录后台-后台编辑php文件getshell. 0x02 过程 1.登录功能模块存在用户名枚举缺陷,利用此权限先枚 ...
- Ubuntu下搭建本地WordPress站点
想在本地搭建WordPress博客站点作测试用?本教程一步一步教您在Linux上搭建一个LAMP(Linux, Apache, MySQL, PHP)服务器并部署WordPress博客. 请注意在复制 ...
- 过程记录:搭建wordpress站点
过程记录:搭建wordpress站点 前提:现在aws中搭建好LNAMP环境和网络mysql数据库,即为下载的wdcp和aws的rds 1.获取WordPress安装包(中文版) https://cn ...
- SEO优化:WordPress站点地图(html和xml)插件Baidu Sitemap Generator
前阵子分享了<如何实现纯代码制作网站地图的html和xml版本>,不过不是每个人都喜欢用纯代码来折腾博客的.今天,boke112就给大家分享一款国人柳城制作的包含html和xml两个版本的 ...
- 利用Wamp在本地搭建一个wordpress站点
原文链接:利用Wamp在本地搭建一个wordpress站点 有时候我们会想搭建一个自己的站点,可是由于只是想自己访问,就不是很想为这个站点在买一个服务器和域名,那我们可能首先就想到把自己电脑当做服务器 ...
随机推荐
- 解决SQL Server本地Windows身份无法登录
CREATE LOGIN [计算机名\Windows帐户名] FROM WINDOWS
- Business talking in English
Talking one: A: Microsoft, this is Steve. B: Hi Steve, this is Richard from Third Hand Testing. I am ...
- PLS-00306: 调用 'SYNCRN' 时参数个数或类型错误
System.Data.OracleClient.OracleException (0x80131938): ORA-00604: 递归 SQL 级别 1 出现错误 ORA-06550: 第 1 行, ...
- 【转】handbrake使用教程
原文地址http://tieba.baidu.com/p/2399590151?pn=1 现在的很多压制教程基本都是使用megui或者mediacoder的,这两个软件使 ...
- C#的深拷贝和浅拷贝
也许会有人这样解释C# 中浅拷贝与深拷贝区别: 浅拷贝是对引用类型拷贝地址,对值类型直接进行拷贝. 不能说它完全错误,但至少还不够严谨.比如:string 类型咋说? 其实,我们可以通过实践来寻找答案 ...
- Scout YYF I POJ - 3744(矩阵优化)
题意:一条路上有n个地雷,给出地雷的位置.某人从起点(位置1)出发,走一步的概率是p,走两步的概率是(1-p),然后问有多少概率走过这个雷区. 思路: 只要走过最后一个地雷就代表走过雷区了. 而每到 ...
- usb-cam(1)安装
http://www.liuxiao.org/2015/10/ros-%E5%AE%89%E8%A3%85-usb-camera-%E9%A9%B1%E5%8A%A8%E5%B9%B6%E8%B0%8 ...
- layui前端框架之分页
框架环境:SSM框架 为了保证效果,此次演示也用到了jQuery ui框架,大家最好也引入进来 一.去layui官网下载包,解压后,然后导入文件中,最好放再main/webapp文件夹下 官网地址如下 ...
- 关于python3.x语法
注1:该文章中所有的图示均使用的pycharm 注2:#号后面没有声明的均为运算结果 #用井字符开头的是单行注释 """ 多行字符串用三个引号 包裹,也常被用来做多 行注 ...
- SkylineGlobe 如何实现二次开发加载KML文件
示例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...