Xray-基础详细使用

2023-10-26

一: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官方基础使用文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xray-基础详细使用 的相关文章

  • 【Docker存储】Docker容器的数据持久化

    Docker存储 Docker容器的数据持久化 一 Docker数据持久化方式 二 本次实践介绍 2 1 本次实践简介 2 2 本次实践环境介绍 三 容器的挂载目录 3 1 创建测试容器web01 3 2 查看容器信息 3 3 编辑测试文件
  • 单片机C语言中while(1)的问题

    单片机C语言的主程序 通常要用一个while 1 语句来让程序进入一个无限循环 目的是为了让程序一直保持在我们需要运行的情况下 虽然这种做法毋庸置疑 在网上还是有不少朋友有疑问 如果程序不加while 1 会出现什么情况 对于这种好学精神
  • Android开发——相册的访问、上传以及服务端对接

    相册的访问与图片保存 1 访问相册并上传到服务器 2 下载网络图片到相册 3 这里顺便分享一手后端的对接方法 4 生产环境资源配置 5 后端项目打包 一般Android开发需要涉及到本地相册的上传以及文件下载到相册 1 访问相册并上传到服务
  • redis必杀命令:发布订阅

    Redis 发布订阅 pub sub 是一种消息通信模式 发送者 pub 发送消息 订阅者 sub 接收消息 Redis 客户端可以订阅任意数量的频道 下图展示了频道 channel1 以及订阅这个频道的三个客户端 client2 clie
  • Spotify 一款不错的音乐工具

    Spotify简介 在这个时代 似乎听歌已经成了我们生活中不可缺少的一部分 生活中或多或少的我们都能接触到的 但每个人喜欢的风格是不一样的 又或者我们喜欢的歌曲可能因为种种的原因而听不见 那么下面这款工具就基本上能满足我们对歌曲的渴望 在这

随机推荐

  • 使用两个队列实现一个栈【数据结构】

    使用两个队列实现一个栈 StackByQueue h typedef int SQDataType typedef struct StackByQueue Queue q1 Queue q2 StackByQueue void InitSt
  • 多核编程与单核多线程编程

    并发 时间段内有很多的线程或进程在执行 但何时间点上都只有一个在执行 多个线程或进程争抢时间片轮流执行 并行 时间段和时间点上都有多个线程或进程在执行 单核cpu的话只能是并发 多核cpu才能做到并行执行 那有人可能有这样的疑问 那多进程的
  • Java Encoding

    现象 Java程序在Windows命令行编译运行打印中文时 直接在命令行下编译会报错 gbk编码的不可映射字符 Eclipse不存在该问题 分析 显然是几种编码格式不兼容 但要搞清楚源文件的编码方式 编译生成的class文件编码方式并且确保
  • Mac必备的矢量图处理软件:ai2021中文版

    备受期待的Adobe Illustrator 2021 for Mac终于来啦 这是全球最著名的矢量图形软件 这次的Illustrator2021中文版提升了软件的性 能 缩短了Illustrator 2021的启动时间并加快了文件打开速度
  • 【深度学习】深入浅出详解张量自动求导机制

    转载自 PaperWeekly 作者 清川 单位 上海交通大学博士生 研究方向 联邦学习 端云协同推断 1 写在前面 深入浅出 在计算机教材界被用滥的词 总是继承着领域小白的初心和梦想 顾名思义 它既意味着理解得透彻 又要求复述得通俗 如果
  • 软件测试人员在工作中如何运用Linux

    从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事 工作时需要用到 面试时会被问到 简历中需要写到 对于软件测试人员来说 不需要你多么熟练使用Linux所有命令 也不需要你对Linux系统完全了解 你只需要学会一些常用的基本命
  • 迪杰斯特拉(Dijkstra)算法

    一 算法介绍 迪杰斯特拉算法是由荷兰计算机科学家在1956年发现的算法 此算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题 它是一个贪心算法 二 核心思想 1 选定一个点 这个点满足两个条件 1 未被选过 2 距离最短 2 对于
  • 【数字图像处理笔记(七)】之冲激和取样的傅里叶变换

    本文章由公号 开发小鸽 发布 欢迎关注 老规矩 妹妹镇楼 一 冲激和取样特性 一 连续冲激的定义 线性系统和傅里叶变换研究的核心是冲激及其取样特性 连续变量t在t 0处的单位冲激表示 满足等式 物理上 如果我们把t解释为时间 那么一个冲激可
  • [Context and Structure Mining Network for Video Object Detection]阅读笔记

    文章目录 TOC 文章目录 Abstract Introduction Related work Proposed Method 1 overview 2 Sptial temporal context Information Encodi
  • 数字图像学笔记 —— 17. 图像退化与复原(自适应滤波之「最小二乘方滤波」)

    文章目录 维纳滤波的缺点 约束最小二乘方滤波 给一个实际例子吧 维纳滤波的缺点 维纳滤波 Wiener Filter 虽然是一种非常强大的退化图像还原算法 但是从实验过程我们也发现它存在着致命的缺陷 那就是要求输入退化系统的 F u v
  • WCF学习笔记(基于REST规则方式)

    一 WCF的定义 WCF是 NET 3 0后开始引入的新技术 意为基于windows平台的通讯服务 首先在学习WCF之前 我们也知道他其实是加强版的一个面向服务 SOA 的框架技术 如果熟悉WebService就会知道WebService是
  • char* 和jstring转换

    在平时的工作 经常用到jni和const类型转换 调用例子 JNIEXPORT jstring JNICALL Java com powervision videolib jni JniNatives native 1getPpsLengt
  • 数字信号处理——DFT的一些理解

    DFT 离散傅里叶变换 的基本概念 1 对信号作DFT的过程 1 对模拟信号以一定的采样率进行采样 得到离散信号 2 将离散信号转换为离散 无穷 序列 即用序列号n代替原时间变量 3 对离散 无穷 序列进行截断 只取一部分构成离散序列 有限
  • 拆分单链表

    Copyright c 2016 烟台大学计算机与控制工程学院 All rights reserved 文件名 text html 作者 常轩 微信公众号 Worldhello 完成日期 2016年11月16日 版本号 V1 0 程序输入
  • vue项目接入unity3D模块并进行数据通信

    一 添加unity工程 unity工程师会提供一个前端可使用的包 将其放在vue项目的public下 我这里以unity文件夹命名 二 在项目中创建iframe标签并引入index html文件 三 修改public gt unity gt
  • YOLO V1 学习摘要

    YOLO V1是一种基于深度学习的目标检测算法 其原理和流程如下 1 利用卷积神经网络 CNN 提取输入图像的特征 2 将图像分割成S x S个网格 grid 每个网格负责检测其中一个特定尺寸和位置的目标 3 对于每个网格 预测一个包含5
  • Pycharm无法导入anaconda的包

    Pycharm无法导入anaconda的包 第一 检查是否设置了anaconda的环境变量 第二步 查看anaconda下面的envs是否为空包 如果是空包 便要创建虚拟环境详细过程可参照 2023最新 Python Pycharm Ana
  • 堆—特殊二叉树

    我们了解了树形结构之后 知道了二叉树 但是二叉树的具体用途我们还是不知道 今天就来看看一种特殊的二叉树 堆 它是一种完全二叉树 著名的topK问题就是用堆来求取的 可以求出一组数中的最大或者最小的元素 所使用的堆就是大根堆 小根堆 所谓大根
  • VMware安装Android-x86_64-9.0-r2系统兼容arm设置

    Android x86 64 9 0 r2虚拟机安装兼容arm的android应用程序 1 安装后WLAN提示已连接无网络 实际网络联通 终端模拟器依次输入以下命令后回车重启系统 su settings put global captive
  • Xray-基础详细使用

    一 Xray介绍 Xray 是一款功能强大的安全评估工具 由多名经验丰富的一线安全从业者呕心打造而成 可支持与AWVS BP等众多安全工具联合使用 二 Xray简易架构 说明 了解 Xray 的整体架构可以更好的理解客户端和配置文件的设置