Centos7下安装ruby2.7.8环境、WPScan的安装及使用介绍

前一段自己搭建了一个基于Wordpress搭建的博客,为了测试一下博客网站是否存在漏洞,网上搜索了一下主要采用WPScan工具。它是一个针对 WordPress 核心、插件和主题的漏洞扫描器,它可以帮助网站管理员检查其 WordPress 站点是否存在已知的安全问题。但是,WPScan 依赖于 Ruby,因此首先需要在系统中安装 Ruby,还需要安装 RubyGems,它是 Ruby 的包管理器。

接下来在 CentOS 7 上来部署WPScan工具,因为WPScan的部署需要用到ruby2.6版本以上。CentOS 7默认的Ruby版本为2.0 ,Ruby的最新版本已经到3.3.0. Ruby下载官网,我这边选择了2.7.8的版本。

一、安装Ruby2.7.8环境

首先安装 Ruby 2.7 或更高版本,需要使用第三方仓库,因为默认的 CentOS 仓库可能不包含最新版本的 Ruby。以下是安装Ruby 2.7的步骤:

  1. 添加 Remi 仓库
    Remi 提供了多个版本的 Ruby,包括最新版本。首先,您需要添加 Remi 的 PHP 和 MySQL 仓库,因为 Ruby 2.5+ 通常与这些技术一起提供。

    sudo yum install epel-release
    sudo yum install yum-utils
    sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/
    sudo yum-config-manager --add-repo https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    
  2. 下载 仓库提供的 Ruby2.7.8版本

    卸载机器上自带的ruby rubygems

    sudo yum remove ruby rubygems -y
    

    下载Ruby2.7.8。

    sudo wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.8.tar.gz
    

    这将安装 Ruby 2.5 版本。如果您需要安装不同的版本,只需将 2.5 替换为您想要的版本号。

  3. 安装环境准备
    安装解决ruby语言的环境依赖库。

    sudo yum install gcc gcc-c++ gdbm-devel readline-devel openssl-devel wget -y
    
  4. 安装 RubyGems
    通常情况下,通过安装 Ruby,RubyGems 也会被一同安装。但如果需要手动安装 RubyGems,可以使用以下命令:

     tar -zxvf ruby-2.7.8.tar.gzcd ruby-2.7.8./configure --prefix=/usr/local/ruby --enable-sharedmake && make install
    
  5. 设置环境变量(如果需要):
    如果您安装了多个 Ruby 版本,可能需要设置 GEM_HOMEPATH 环境变量来指定使用哪个 Ruby 版本的 RubyGems。

    export RUBY_HOME=/usr/local/ruby
    export PATH=$RUBY_HOME/bin:$RUBY_HOME/lib:$PATH
    

    将上述命令添加到您的 ~/.bashrc~/.bash_profile 文件中,然后重新加载配置文件或重新打开终端。

    source ~/.bashrc
    
  6. 测试 Ruby 安装是否成功
    如果您需要安装 Ruby 开发包或其他相关包,可以使用以下命令:

     ruby -vgem -v
    

二、安装WPScan工具

采用Ruby的gem安装WPScan,可以使用以下命令:

 gem install wpscan

三、使用WPScan工具

WPScan是一款强大的WordPress安全扫描工具,可以帮助网站管理员评估和增强其WordPress网站的安全性。本文将深入介绍如何使用WPScan扫描单个目标,并结合实际例子,帮助读者理解和应用该工具。

1.WPScan扫描单个网站

确认目标:
在开始扫描之前,首先需要确认扫描的目标。目标可以是一个特定的WordPress网站,您需要获取其URL。
示例应用:
假设我们要扫描一个名为"http://example.com"的WordPress网站。我们将使用该URL作为扫描的目标。
启动WPScan:
在确认目标后,打开终端或命令行界面,并输入以下命令来启动WPScan:

wpscan --url http://example.com

上述命令中的--url选项后跟着目标WordPress网站的URL。
扫描选项:
WPScan提供了多个选项,可以根据需要配置扫描的深度和灵敏度。以下是一些常用的扫描选项:

  • --enumerate:启用特定类型的枚举扫描,如用户、插件和主题。
  • --plugins-detection:设置插件检测的模式,如默认、被动或侵入式。
  • --detection-mode:设置扫描的侦测模式,如快速、默认或深度。

示例应用: 在我们的例子中,我们可以使用以下命令配置扫描选项:

wpscan --url http://example.com --enumerate u,p,t --plugins-detection aggressive --detection-mode aggressive

上述命令中,我们启用了用户、插件和主题的枚举扫描,并将插件检测和扫描模式都设置为"aggressive"。

扫描结果分析:
WPScan将开始扫描目标WordPress网站,并显示扫描结果。结果包括发现的漏洞、插件和主题的信息,以及其他有关目标网站的详细内容。
示例应用:
扫描完成后,WPScan将显示扫描结果的摘要。您可以逐一查看每个漏洞、插件或主题的详细信息,并根据需要采取相应的措施。
例如,如果WPScan检测到某个插件存在已知的漏洞,您可以考虑升级插件或寻找替代方案来修复该漏洞。
导出扫描结果:
WPScan允许将扫描结果导出到不同的格式,以便进行进一步的分析和报告。

示例应用:

要将扫描结果导出为文本文件,可以使用以下命令:

wpscan --url http://example.com --output example_scan.txt --format txt

该命令将扫描结果保存到名为example_scan.txt的文本文件中,以供后续分析和记录。

总结:

通过上述步骤,您可以使用WPScan扫描单个目标的WordPress网站。从确认目标到启动WPScan、配置扫描选项、分析扫描结果以及导出结果,这些步骤为您提供了全面的指导。

需要注意的是,使用WPScan进行安全评估时,请始终遵循合法和道德的准则。确保您获得了适当的授权,并且仅在合法的环境中使用WPScan。

示例应用中的命令和选项只是一个简单的示例,实际的使用场景可能因特定需求、操作系统、环境等因素而有所不同。在实际操作中,请参考WPScan的官方文档和GitHub存储库,以获取最新的命令和选项。

2.WPScan扫描多个目标

WPScan是一款功能强大的WordPress安全扫描工具,可以帮助网站管理员评估和增强其WordPress网站的安全性。本文将深入介绍如何使用WPScan扫描多个目标,并结合实际例子,帮助读者理解和应用该工具。

确认目标列表:
在开始扫描之前,首先需要确认扫描的目标列表。目标列表可以包含多个WordPress网站的URL。
示例应用:
假设我们要扫描以下三个WordPress网站:

  • 网站A: http://example.com
  • 网站B: http://testsite.com
  • 网站C: http://demo.com

我们将使用这三个URL作为扫描的目标列表。

启动WPScan批量扫描:
WPScan提供了批量扫描功能,可以通过提供目标列表文件来扫描多个目标。首先,将目标列表保存到一个文本文件中,每个URL占一行。
示例应用:
创建一个名为targets.txt的文本文件,并将上述三个目标URL添加到文件中,每个URL占一行。

http://example.com
http://testsite.com
http://demo.com

然后,在终端或命令行界面中,使用以下命令来启动WPScan的批量扫描:

wpscan --url-list targets.txt

WPScan将读取targets.txt文件中的目标URL,并逐个进行扫描。

扫描选项和配置:
WPScan提供了多个选项和配置,可以根据需要自定义批量扫描的深度和灵敏度。您可以使用各种扫描选项来优化扫描结果。
示例应用:
在我们的例子中,我们可以使用以下命令来配置扫描选项:

wpscan --url-list targets.txt --enumerate u,p,t --plugins-detection aggressive --detection-mode aggressive

上述命令中,我们启用了用户、插件和主题的枚举扫描,并将插件检测和扫描模式都设置为"aggressive"。
扫描结果分析:
WPScan将按顺序扫描目标列表中的每个WordPress网站,并显示扫描结果。结果包括发现的漏洞、插件和主题的信息,以及其他有关目标网站的详细内容。
示例应用:
扫描完成后,WPScan将显示每个目标的扫描结果的摘要。您可以逐一查看每个目标的漏洞、插件或主题的详细信息,并根据需要采取相应的措施。
例如,如果WPScan检测到某个目标网站的某个插件存在已知的漏洞,您可以考虑升级插件或寻找替代方案来修复该漏洞。
导出扫描结果:
WPScan允许将扫描结果导出到不同的格式,以便进行进一步的分析和报告。

示例应用:

要将扫描结果导出为文本文件,可以使用以下命令:

wpscan --url-list targets.txt --output batch_scan.txt --format txt

该命令将扫描结果保存到名为batch_scan.txt的文本文件中,以供后续分析和记录。

总结:

通过上述步骤,您可以使用WPScan扫描多个目标的WordPress网站。从确认目标列表到启动WPScan批量扫描、配置扫描选项、分析扫描结果以及导出结果,这些步骤为您提供了全面的指导。

3.使用参数和选项

WPScan是一款广泛使用的WordPress安全扫描工具,它提供了一系列的参数和选项,以帮助用户进行全面的安全评估和漏洞扫描。本文将深入介绍WPScan的一些常用参数和选项,并结合实际例子,帮助读者理解和应用这些功能。

--url指定目标URL
这是WPScan最基本的参数,用于指定要扫描的目标WordPress网站的URL。
示例应用:

wpscan --url http://example.com

上述命令将扫描名为"http://example.com"的WordPress网站。

--enumerate枚举功能
WPScan提供了多个枚举功能,用于收集有关目标网站的信息,如用户、插件、主题等。
示例应用:

wpscan --url http://example.com --enumerate u,p,t

上述命令将启用用户(u)、插件(p)和主题(t)的枚举扫描。

--plugins-detection插件检测级别
这个选项用于指定插件检测的级别,包括默认、主动和侵入性三个级别。
示例应用:

wpscan --url http://example.com --plugins-detection aggressive

上述命令将以侵入性的方式检测目标网站的插件。

--detection-mode扫描模式
WPScan提供了多种扫描模式,包括默认、被动和侵入性模式,用于控制扫描的深度和灵敏度。
示例应用:

wpscan --url http://example.com --detection-mode aggressive

上述命令将以侵入性的模式进行深度扫描。

--exclude-content-based排除内容
这个选项用于指定要排除的内容类型,以加快扫描速度。
示例应用:

wpscan --url http://example.com --exclude-content-based "attachments,timthumbs"

上述命令将排除附件和TimThumb图像处理程序的扫描。

--proxy代理设置
如果您需要通过代理服务器进行扫描,可以使用此选项设置代理。
示例应用:

wpscan --url http://example.com --proxy http://proxyserver.com:8080

上述命令将通过代理服务器进行扫描。

--output输出格式和文件
WPScan允许将扫描结果以不同的格式输出到文件中,如文本、JSON等。
示例应用:

wpscan --url http://example.com --output scan_results.txt --format txt

上述命令将扫描结果保存为文本文件"scan_results.txt"。

--follow-redirection跟随重定向
如果目标网站有重定向,您可以使用此选项来跟随重定向并扫描最终目标。
示例应用:

wpscan --url http://example.com --follow-redirection

上述命令将跟随重定向并扫描重定向后的目标。

--random-user-agent随机User-Agent
WPScan提供了随机生成User-Agent的选项,用于模拟不同的用户代理。

示例应用:

wpscan --url http://example.com --random-user-agent

上述命令将随机生成User-Agent进行扫描。

输出和报告生成
WPScan作为一款强大的WordPress安全扫描工具,不仅提供了详尽的扫描功能,还支持生成详细的输出和报告,帮助用户理解扫描结果并采取相应的安全措施。本文将深入探讨WPScan的输出和报告生成功能,并结合实际示例,帮助读者更好地理解和应用这些功能。

输出选项
WPScan提供了多种输出选项,使用户能够按照自己的需求获取扫描结果。以下是一些常用的输出选项:

  • --output:将扫描结果保存到文件中。
  • --format:指定输出格式,如txt、json、xml等。
  • --no-banner:不显示WPScan的横幅信息。
    示例应用:
wpscan --url http://example.com --output scan_results.txt --format txt --no-banner

上述命令将扫描结果保存为文本文件"scan_results.txt",并以纯文本格式显示,同时不显示WPScan的横幅信息。
默认输出
当不指定输出选项时,WPScan会以默认的方式将扫描结果输出到终端。默认输出包括以下几个部分:

  • 概要信息:显示扫描的目标URL、扫描开始时间、扫描的插件和主题数量等。
  • 漏洞信息:列出发现的漏洞及其严重程度。
  • 发现的用户:显示扫描期间发现的用户信息。
  • 发现的插件和主题:列出扫描期间发现的插件和主题信息。
    示例输出:
[+] URL: http://example.com/
[+] Started: 2023-12-24 10:00:00
[+] Interesting Finding: Vulnerable Plugin (PluginName) - Critical
[+] Interesting Finding: Vulnerable Theme (ThemeName) - High
[+] Identified User: admin
[+] Identified User: editor
[+] Identified Plugin: Plugin1
[+] Identified Plugin: Plugin2
[+] Identified Theme: Theme1
[+] Identified Theme: Theme2

详细报告
WPScan还支持生成详细的HTML报告,以便更好地展示扫描结果。生成报告的功能需要安装额外的依赖(如Ruby Gems中的terminal-tablehtmlentities),并使用--generate-report参数来指定报告生成的路径。
示例应用:

wpscan --url http://example.com --generate-report wpscan_report.html

上述命令将生成一个名为"wpscan_report.html"的HTML报告,其中包含了扫描结果的详细信息。
报告内容
WPScan生成的HTML报告包含了丰富的内容,涵盖了扫描的各个方面,如目标信息、漏洞详情、插件和主题信息等。报告还以图表和表格的形式直观地展示了扫描结果。

示例报告内容:

  • 目标信息:显示扫描的目标URL、扫描开始时间和结束时间等。

  • 漏洞详情:列出所有发现的漏洞及其详细信息,包括漏洞名称、CVE编号、严重程度等。

  • 用户信息:显示扫描期间发现的用户信息。

  • 插件和主题:列出扫描期间发现的插件和主题信息,包括名称、版本号、漏洞等级等。

  • 图表和统计信息:以图表和表格的形式展示扫描结果的概要信息和统计数据,如漏洞分布、漏洞严重程度等等。

以上只是WPScan输出和报告生成的一些示例,实际使用中还有更多选项和功能可供选择。通过灵活运用这些选项和功能,用户可以根据需要获取详细的扫描结果,并生成形式多样的报告,以便更好地理解和应对安全风险。

需要注意的是,WPScan仅提供扫描结果和报告,用户仍需根据扫描结果采取相应的安全措施,修复漏洞和加固网站。扫描结果仅作为参考,用户应自行评估漏洞的严重程度和风险,并根据实际情况进行修复和改进。

希望本文对您理解WPScan的输出和报告生成功能,并在实际应用中提供帮助。通过合理利用WPScan的输出和报告功能,您将能更好地评估和加强WordPress网站的安全性,确保其免受潜在的风险和攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/704784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Flutter】Flutter学习-GetX 导航操作

1.跳转 在原生中咱们一般运用的是push进行跳转的,这儿是没有界说途径直接经过上下文进行跳转 Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) > DiscoverChildPage(title: widget.title,)));咱们运用Get.to进行跳转 Get.to( D…

Java+SpringBoot+Vue+MySQL构建银行客户管理新平台

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

Linux按键输入实验-创建按键的设备节点

一. 简介 Linux内核针对 GPIO驱动开发,提供了 pinctrl子系统与gpio子系统,方便了 GPIO驱动程序的开发。 本文开始学习如何利用 Linux内核的 pinctrl子系统,与 gpio子系统提供的 API函数,开发按键驱动。 这里主要学习在设备树文件中创建按键的设备节点。 二. Linux按键…

C# 学习第三弹——表达式

表达式操作数运算符 (一)算数运算符 错误例子:这不是python!!!!!!!!!!!!! 正确结果&a…

css transform 会影响position 定位

比如通过以下代码.实现导航条上的每个li栏目,以不同的时间间隔,从上向下移动进来并显示 .my-navbar ul li {position: relative;opacity: 0;transform: translateY(-30px);transition: transform .6s cubic-bezier(.165,.84,.44,1),opacity .6s cubic-bezier(.165,.84,.44,1);…

【力扣 - 有效的括号】

题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同…

从 SOCKS5、代理IP 到 HTTP 的趣味解读

在数字化时代,网络安全已成为人们日常生活和工作中不可或缺的重要议题。然而,随着网络技术的发展,我们也发现了一些趣味横生的网络代理技术,比如 SOCKS5、代理IP 和 HTTP 代理。本文将以轻松愉快的方式,探讨这些技术在…

【数据结构】线性表 顺序表(动态、静态分配,插入删除查找基本操作)解析+完整代码

1.线性表的基本概念 定义 线性表(Linear List)是具有相同数据类型的n个数据元素的有限序列。 n为表长,n0时线性表是个空表 前驱、后继 前驱:其中一个数据元素的前一个元素。第一个元素没有前驱。后继:其中一个数据元素…

vue指令 (侦听器)

在Vue中,watch 选项允许我们观察和响应Vue实例上的数据变化。当被侦听的属性变化时,回调函数将被调用,执行相应的操作。 以下是一个简单的示例,演示了如何使用 watch 选项: new Vue({ el: #app, data: { message: Hel…

JavaSec 基础之 SQL 注入

文章目录 JDBC 注入语句拼接(Statement)修复方案 语句拼接(PrepareStatement)修复方案 预编译 JdbcTemplate修复方案 MyBatisLike 注入Order By 注入In 注入 寒假学了一个月 pwn,真心感觉这玩意太底层学的我生理不适应了,接下来学一段时间 java 安全缓一…

使用R语言进行多元线性回归分析-多重共线的诊断

一、数据集 序号X1x2x3x4Y序号X1x2x3X4Y12666078.57831224472.51229155274.31954182293.12356850104.3111047426115.92143184787.6111140233483.8155263395.971266912113.311655922109.2111368812109.410771176102.73       1、从中选取主要变量,建立与因变…

iOS 中的Skeleton UI

使用骨架屏(skeleton screen)是一种在应用加载过程中展示占位符内容的技术,可以提升用户体验。以下是使用骨架屏的一些优点: 1.提高用户体验:在应用加载数据时,骨架屏可以提供一个清晰的占位符,…

SQL注入漏洞解析--less-46

我们先看一下46关 他说让我们先输入一个数字作为sort,那我们就先输入数字看一下 当我们分别输入1,2,3可以看到按照字母顺序进行了排序,所以它便是一个使用了order by语句进行排序的查询的一种查询输出方式 当输入时出现报错提示,说…

AI一键生成3D模型!

一、Genie Genie 是 Luma AI 推出的一个文本到 3D 的生成模型,可以在 10 秒生成 4 款 3D 模型,自动精修后质感非常逼真,目前支持免费使用。 此次的 1.0 版本更新后将生成功能由 Discord 转到了单独的网页,使用起来更方便&#x…

无法访问云服务器上部署的Docker容器(二)

说明:记录一次使用公网IP 接口地址无法访问阿里云服务接口的问题; 描述 最近,我使用Docker部署了jeecg-boot项目,部署过程都没有问题,也没有错误信息。部署完成后,通过下面的地址访问后端Swagger接口文档…

vue中使用$emit传递参数

传递一个参数 1、子组件 this.$emit(getData,abcd)2、父组件 <child getData"getData"></child> getData(data){console.log(data) // abcd }传递多个参数 第一种方法 1、子组件 let obj {data1: abcd,data2: abcdefg } this.$emit(getData,obj)2、…

CleanMyMac4苹果Mac电脑全面、高效的系统清理工具

CleanMyMac 4 for Mac是一款专为Mac用户设计的系统清理和优化工具。它具备多种功能&#xff0c;旨在帮助用户轻松管理和释放Mac上的磁盘空间&#xff0c;同时提升系统性能。 系统垃圾清理&#xff1a;CleanMyMac 4能够深入扫描Mac的每一个角落&#xff0c;智能识别并清除不需要…

LDR6020双盲插音频随便插充电听歌随便插

随着智能手机的普及和功能的日益丰富&#xff0c;手机已经成为我们日常生活中不可或缺的一部分。音乐、电影、游戏等娱乐内容更是丰富了手机的使用体验。而在这其中&#xff0c;音频转接器的作用愈发凸显&#xff0c;特别是在边听边充的场景下&#xff0c;一款高效且便捷的手机…

实践航拍小目标检测,基于轻量级YOLOv8n开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

【Spring连载】使用Spring Data访问 MongoDB----Template API 查询Documents

【Spring连载】使用Spring Data访问 MongoDB----Template API 查询Documents 一、 查询集合中的Documents二 选择字段三、 其他查询选项3.1 Hints3.2 游标批大小Cursor Batch Size3.3 Collations3.4 读取首选项Read Preference3.5 Comments 四、查询Distinct值五、Geo-near 查询…