Xray-基础详细使用

一:Xray介绍

Xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,可支持与AWVS,BP等众多安全工具联合使用。

二:Xray简易架构:

说明:了解 Xray 的整体架构可以更好的理解客户端和配置文件的设置,方便更好的使用。
第一部分:来源处理(输入)。扫描目标输入,包括指定单一URL,基础爬虫和HTTP代理手动输入
第二部分:漏洞检测(操作)。内置漏洞扫描插件,自定义POC等方式
第三部分:结果输出(输出)。扫描结果输出,支持Html,Json,Webhook格式输出

三:Xray安装

Xray为单文件二进制文件,无依赖,也无需安装,下载后直接使用,可直接参考如下链接安装使用:
Xray安装参考链接

三:基础使用

1,指定单个URL

参数:- - url

命令:./xray_darwin_arm64 webscan --url http://example.com/  --html-output single-url.html
说明:扫描指定的单个URL,扫描结果以html格式输出

扫描报告截图:
在这里插入图片描述

2,简易爬虫模式

参数:- - basic-crawler
说明:(在漏洞扫描前会先进行基础爬虫爬取页面,相比来源处理一单个URL,会先对提供的URL进行爬虫扫描,扫描链接更多,扫描也更全面)

命令:./xray_darwin_arm64 webscan --basic-crawler http://example.com/ --json-output  basic-crawler.json
说明:使用爬虫模式,先对指定的url进行爬虫,然后再进行扫描,结果以json格式的文件输出

注意:其中的爬虫深度可以设置,具体位置为配置文件config.yml中basic-crawler参数的max_depth,设置为0为无限制
在这里插入图片描述
扫描报告截图:
在这里插入图片描述

3,HTTP代理模式

参数:- - listen
HTTP代理扫描逻辑:
说明:代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描
1,Xray本地监听7778端口,用户通过浏览器代理将访问的流量转发给7778端口
2,Xray作为中间人扫描处理浏览器转发过来的流量,然后转发给服务端
3,服务端响应给Xray,Xray扫描处理响应包,Xray转发给用户
扫描配置:
1,Xray本地监听7778端口
命令:

./xray_darwin_arm64  webscan --listen 127.0.0.1:7778 --html-output xray-testphp1.html 
说明:Xray监听本地的7778端口,结果通过html格式输出,该模式的好吃就是通过人为手动点击需要扫描的URL,相比前面两种扫描方式,扫描准确度更好,更多适用于手工渗透测试场景

2,浏览器将访问Web流量转发给本机的7778端口:在这里插入图片描述
3,配置CA证书
在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。
具体方法可参考官方文档:
配置CA证书
4,修改配置文件,启动代理
将需要代理扫描的URL填写在配置文件config.yml中的hostname_allowed字段中
在这里插入图片描述
5,扫描报告:
在这里插入图片描述

四:指定插件扫描

说明:Xray本身的工作原理就是通过调用插件进行漏洞探测的,有些场景下想针对某个URL进行某一类漏洞的探测
参数:- - pulgins

命令: ./xray_darwin_arm64  webscan --plugins xss --url http://example.com --html-output plugins.html
说明:针对该URL只进行xss漏洞的探测,探测结果以html格式输出

其中的–pulgins参数可指定的漏洞探测插件如下:在这里插入图片描述
扫描报告:
在这里插入图片描述

五:结果输出

说明:漏洞扫描和运行时的状态统称为结果输出,xray 定义了如下几种输出方式:
1,Stdout (屏幕输出, 默认开启)
2,JSON 文件输出
参数: --json-output result.json
3,HTML 报告输出
参数:–html-output result.html
4,Webhook输出
参数: --webhook-output

六:参考文档:

文章篇幅有限,仅做了Xray的基础使用,后续也会更新更高阶的用法,师傅们也可以直接查看官方文档。
Xray官方文档
Xray官方基础使用文档

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

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

相关文章

【elementplus】解决el-table开启show-overflow-tooltip后,tooltip的显示会被表格边框遮挡的问题

如图所示: 原因: 1. el-table没有设置高度;2.就是被遮住了 解决: 方法一:给el-table设置高度 方法二: .el-table {overflow: visible !important;}如果不想给el-table设置高度,就直接使用方法二解决即可

机器学习面试题- 特征工程

目录标题 1、为什么要对特征做归一化2、对特征归一化的方法2.1 线性函数归一化2.2 零均值归一化 3、对数据预处理时,如何处理类别型特征3.1 序号编码3.2 独热编码3.3 二进制编码 4、什么是组合特征?如何处理高维组合特征?5、怎样有效地找到组…

es学习知识汇总

es的索引库就相当于mysql的表 es的文档就相当于mysql的一条数据(内容) 用代码创建索引库到es 新增文档(相当于mysql的一条数据(内容) 模拟将数据库中的到内容新增到es中 查询文档 注:以下 hotel为索引库名…

【Python数据处理】-Pandas笔记

Python数据处理-Pandas笔记 📝 基本概念 Pandas是一个强大的Python数据处理库,它提供了高效的数据结构和数据分析工具,使数据处理变得简单而快速。本篇笔记将介绍Pandas中最常用的数据结构——Series和DataFrame,以及数据处理的…

使用SQL语句创建存储过程

前言: 本篇文章是记录学校学习SQL server中知识,可用于复习资料. 目录 前言:一、存储过程的创建1、创建简单存储过程2、创建带参数的存储过程3、创建带输出参数的存储过程 二 、使用T一SQL语句管理和维护存储过程2.1 使用sp_helptext查看存储过程student_sc的定义脚本2.2 使用…

大禹智库:下一代向量数据库————具备在线化,协作化,可视化,自动化和安全互信的向量数据库

目录 一、在线化 二、协作化 三、可视化 四、自动化 五、安全互信 结论: 行业分析报告:下一代向量数据库的特征 摘要: 向量数据库是一种用于存储和处理向量数据的数据库系统。随着人工智能和大数据技术的快速发展,向量数据…

匹马赛跑,1个赛道,每次5匹进行比赛,无法对每次比赛计时,但知道每次比赛结果的先后顺序,最少赛多少次可以找出前三名?

1.实现 答:至少需要比7次。 25匹马随机分成5组,每组比赛一次也即总共比5次先看一下每组马的快慢情况。 我们一开始并不知道这25匹马中谁快谁慢,所以需要筛选出那些跑的较快的马出来去竞争前三名,只能将25匹马随机进行分组比赛&…

二叉树 — 给定二叉树中某个节点,返回该节点的后继节点

后继节点定义: 二叉树以中序的方式进行遍历打印,节点X的下一个节点,就是X的后继节点。 假设二叉树如下图所示:则中序遍历的后打印出来的就是 4 -> 2 -> 5 -> 1 -> 6 -> 3 -> 7。如果X 3,则X的后继节…

直接在Notepad++中运行GO语言-(通过NppExec插件)

前提条件: 1.建议阅读文章【直接在Notepad中运行GO语言】: 直接在Notepad中运行GO语言_go语言 notepad_西晋的no1的博客-CSDN博客 2.建议阅读文章【notepad 中安装NppExec插件】: notepad 中安装NppExec插件_西晋的no1的博客-CSDN博客 以下…

EasyCVR如何在不修改分辨率的情况下进行H.265自动转码H.264?

EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,在视频能力上,平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、H.265转码、智能分析以及平台级联等。 我们在此前的文章中介绍过…

微服务框架

流量入口Nginx 在上图中可以看到,Nginx作为整个架构的流量入口,可以理解为一个外部的网关,它承担着请求的路由转发、负载均衡、动静分离等功能。作为一个核心入口点,Nginx肯定要采用多节点部署,同时通过keepalived来实…

Spring 是什么框架?

对于一门技术,我们需要从为什么要学、学什么以及怎么学这三个方向入手来学习。那在说Spring这三点之前,我们先看Spring之前要学什么。 Java基础、Java语法进阶、MySQL基础操作、MySQL数据库设计和多表操作、JDBC、Maven基础、MyBatis、HMLCSS、JavaScrip…