Xray-基础详细使用

2023-11-23 17:40
文章标签 基础 使用 详细 xray

本文主要是介绍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官方基础使用文档

这篇关于Xray-基础详细使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/419625

相关文章

Macos创建python虚拟环境的详细步骤教学

《Macos创建python虚拟环境的详细步骤教学》在macOS上创建Python虚拟环境主要通过Python内置的venv模块实现,也可使用第三方工具如virtualenv,下面小编来和大家简单聊聊... 目录一、使用 python 内置 venv 模块(推荐)二、使用 virtualenv(兼容旧版 P

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

SpringCloud中的@FeignClient注解使用详解

《SpringCloud中的@FeignClient注解使用详解》在SpringCloud中使用Feign进行服务间的调用时,通常会使用@FeignClient注解来标记Feign客户端接口,这篇文章... 在Spring Cloud中使用Feign进行服务间的调用时,通常会使用@FeignClient注解