xray使用入门

news2025/3/13 18:10:23

简介

长亭科技旗下的一款网络安全漏洞扫描工具,用于检测和评估web应用程序的安全性。具有一下特点:检测速读快、检查范围广、代码质量高、高级可定制以及安全无危害。属于不开源的项目,用户直接下载xray的可执行文件,即可运行该工具

xray使用了与burpsuit一样的盈利模式:社区版、高级版和企业版  

图片

 xray目前支持检测的漏洞:

XSS漏洞检测 (key: xss)
SQL 注入检测 (key: sqldet)
命令/代码注入检测 (key: cmd-injection)
目录枚举 (key: dirscan)
路径穿越检测 (key: path-traversal)
XML 实体注入检测 (key: xxe)
文件上传检测 (key: upload)
弱口令检测 (key: brute-force)
jsonp 检测 (key: jsonp)
ssrf 检测 (key: ssrf)
基线检查 (key: baseline)
任意跳转检测 (key: redirect)
CRLF 注入 (key: crlf-injection)
Struts2 系列漏洞检测 (高级版,key: struts)
Thinkphp系列漏洞检测 (高级版,key: thinkphp)
XStream 系列漏洞检测 (key: xstream)
POC 框架 (key: phantasm)

下载和安装

XRAY是一款不开源的漏扫工具,

提供两种下载渠道:

  1. 官方下载:https://github.com/chaitin/xray

  2. 非官方渠道(高级版,版本相对落后与官方版本):https://www.iculture.cc/software/pig=30388

大家根据自己的求进行下载

基本使用

初始化

xray属于命令行执行的工具,并未提供图形化界面。所以,在我们下载好程序之后,将其解压到一个目录,然后通过cmd或者powershell进入这个目录

图片

不过在正式运行之前,我们需要执行一次命令,用于初始化配置文件:

图片

执行完成之后,回到目录就能发现先他有了最初的配置文件

图片

在修改配置文件的情况下,我们就已经能够简单的使用xray来扫描一部分的网站了。

xray存在两种运行方式:

  1. 主动扫描

  2. 被动扫描

主动扫描

主动扫描类似于SQLmap工具,用户通过指令设置需要扫描的功能、提供需要扫描的目标、设定结果保存的格式即可完成一次攻击

xray_windows_amd64.exe ws --url "http://testphp.vulnweb.com" --html-output 1.html

这个是一个简单的示例,当我们在cmd中执行命令之后,xray就会列出可攻击的poc和会测试的点:

图片

当探测到漏洞之后,会在终端以红色内容来输出漏洞信息:

图片

比如上面就发现了目标站点存在 .idea配置文件信息泄露漏洞,此时我们就可以通过它同的poc去验证这个漏洞是否真实存在:

图片

通过在终端里面看,并不是非常的方便,当xray扫描完成之后,xray会根据用户设定的保存格式,将所有检测到的漏洞都输出到对应的文件里面,比如我们在最开始使用的 --html-output 指令,就是让xray将结果以html形式输出:

图片

这样我们就可以通过访问这个文件来获取漏洞的详细信息

图片

然后我们就可以通过这样在网页上查看到它具体的漏洞信息。在xray的返回结果里面,有两个比较重要的字段:target和 pluginname/vulntypetarget。

target保存了存在漏洞的url地址

pluginname/vulntype:则记录了url中存在的漏洞。

当然,这个知识记录了简单的信息。当我们想要看某个漏洞的具体细节时:可以通过点击 ID 列前面的加号,来展开这个漏洞:

图片

然后就可以查看到对应漏洞的细节:URL、payload和请求包。

通过这个演示之后,我想大家应该都掌握了xray的基本用法,接下来就是去查看他的一些具体的功能和使用参数了。

xray_windows_amd64.exe -h  查看xray的帮助信息:

图片

在我当前使用的这个xray工具,能够实现一下攻击:

webscan     ws   web扫描任务
servicescan ss   服务扫描
subdomain   sd   子域名扫描
poclint     pl,lint 检测poc的规范情况
burp-gamma   btg   将bp的poc转换成xray的poc格式
transform         将其他与语言的脚本转化成gamma脚本
reverse           运行独立的反向连接服务器
convert           扫描结果之间的转换(html -> json, json -> html)
genca             初始化ca证书
upgrade           更新xray
version           版本信息
x                 查看说有poc的可用性

对于安全测试人员来说,主要使用的是webscan、servicescan和subdomain

webscan

xray_windows_amd64.exe ws -h 通过这条命令,就可以查看到当前webscan的帮助信息

图片

--list   -l                           列出所有的plugin
--plugins value, --plugin value       检测指定的plugin
--poc value, -p value                 检测指定的poc
--level value                         指定poc的危害等级,只使用某个级别的poc(low,medium,high,critical),需要要使用多个级别时,用逗号分隔
--tags value                           指定运行某个标签的poc
--listen value                         监听一个地址,进行被动扫描
--basic-crawler value, --basic value   爬虫模式扫描,自动探测网站的所有url连接,并且进行扫描
--url-file value, -uf value           从文件中读取url,并对这些url进行测试
--burp-file value, --bf value         读取bp的请求包,进行测试
--url value, -u value                 指定单条url进行测试
--data value, -d value                 指定测试post传参点(username=admin)
--raw-request file, --rr file         加载原生http请求
--force-ssl, --fs                     配置访问https网站
--json-output file, --jo file         以json格式保存扫描结果
--html-output file, --ho file         以html格式保存扫描结果
--webhook-output value, --wo value     根据xray的格式保存结果

接下来进行演示:

列出所有可用的plugin

xray_windows_amd64.exe ws -l  列出所有的可用plugin

图片

指定plugin模块

xray_windows_amd64.exe ws --plugins xss,dirscan -u "http://testphp.vulnweb.com" --ho 2.html  指定扫描模块进行扫描

图片

指定poc进行扫描

xray_windows_amd64.exe ws --poc poc-yaml-manageengine-servicedesk-cve-2017-11512-lfi -u "http://testphp.vulnweb.com" --ho 5.html 指定poc进行扫描,需要将poc写在xray的可执行目录下

图片

使用网页爬虫进行漏洞测试

xray_windows_amd64.exe ws --basic-crawler "http://testphp.vulnweb.com" --ho 6.html 使用网页爬虫,爬取网站上所有的链接,并将链接加入到测试队列中

图片

在使用爬虫模式时,只能对单个url链接进行爬虫模式扫描

批量网站扫描

xray_windows_amd64.exe ws --uf target.txt --ho 5.html  将目标站点放入文件中,实现批量目标扫描

图片

在实际工作中,可以通过选择一种扫描方式,然后利用 --poc和--plugins的组合,来控制扫描使用的poc。

servicescan

xray 中最常见的是 web 扫描,但是 xray 将会逐渐开放服务扫描的相关能力,目前主要是服务扫描相关的 poc。同样的,通过一个案例来进行演示:

图片

很显然,内置的 servicescan的poc相对来说量还是有点少的,不过也有肯能是我的操作不对,那就查看一手帮助信息:

xray_windows_amd64.exe ss -h  查看帮助信息

图片

从帮助信息中不难看出,新的功能就3个:

--target value, -t value           指定目标
--module value, -m value           指定目标服务器的中间件,目前只支持 tomcat和weblogic
--target-file value, --tf file     指定扫描使用的poc的路径

从这里就能看出,有点点的鸡肋了。

subdomain

xray也推出了子域名查询的功能,不过它属于高级版和企业版才有的功能,所以换个非官方的xray,试一手,尝尝鲜:

xray.exe subdomain --target "zkaq.cn" --html-output 5.html 扫描目标站点的子域名

图片

当成功扫到域名之后,会在终端以绿色字体显示

图片

感觉他的实现方式有点在暴力破解,又好像有在调用dns进行查询,每太看懂。简单演示完了之后,接下就试去查看帮助信息:xray.exe subdomain -h  查看子域名暴破的帮助信息

图片

ok,不难看出,和 serverscan 大差不差。

被动扫描

代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。主动扫描已经能够帮助我们完成一些内容漏洞发现了,但是,在我看来xray更更核心的功能是他的被动扫描模块。在使用被动扫描模式之前,我们需要先初始化一份ca证书,并且将证书导入到浏览器中:

生成证书

xray.exe genca初始化证书

图片

初始化监听

xray.exe ws --listen 127.0.0.1:8082 --ho 6.html  初始化xray的监听地址

图片

通过这样的方式,xray就已经开始进行监听了。之后只需要将浏览器的代理只想xray的代理地址,xray的被动扫描功能就能体现出来的

图片

当我将浏览导入好证书、设置好代理之后,访问bbs.zkaq.cn,然后我的xray就开始去扫描站点了

图片

这样,xray就能有效的对一些需要登录的功能点进行测试,并且,他的测试是你访问了这个站点url之后,它检测到数据包了,才会去进行检测。不过在使用xray被动模式时,需要进行一些设置,不然可能会误伤其他站点。就比如我现在,并没有去设置xray的配置文件,然后它对一外站也进行测试

图片

配置文件修改

再上面的测试中,我们一直使用的都是默认配置,xray再默认情况下是对政府网站和校园网站禁止访问的,如果你再用xray去测试一些校园src的时候,可能就会因为配置的原因而无法进行扫描。所以在工作和使用中,大家需要及时去修改和调整xray的配置文件。默认情况下,第一此运行xray,xray就会在目录下生成配置文件!

图片

这些.yaml后缀的文件就是xray的配置文件,其中config.ymal中包含了最基础的xray配置:

http           基础的http请求配置
plugins       扫描时使用的插件和poc
reverse       反连平台,有一部分poc时需要通过反连平台来确定漏洞是否存在。
mitm           被动扫描
basic-crawler 主动扫描中的爬虫设置

在这些配置中,最基础的配置是http、mitm和basic-crawler三个项目

http

在http中,我们需要修改的内容就包括一下三个点

图片

proxy: 能帮助用户吟唱自己的真实IP,同时对于一些网站的防护(基于IP尽心的防护)max_qps: 设置发包速率,防止发包过快,导致一些站点崩溃headers: 设置请求头,可以往里面插入一些请求头的内容

mitm

在mitm中,我们需要修改的东西不多,就也就三个点:

图片

一个设置允许和禁止xray访问的域名,一个设置上层代理。配置方式,大同小异,知识这里的配置只影响被动扫描功能

hostname_allowed:   # 设置允许访问域名,*通配符
- "*.ncu.edu.cn"
- "*.jxnu.edu.cn"
hostname_disallowed: # 设置不允许访问的域名
- "*google*"
- "*firefox*"
- "*bing.com"
- "*.gov.cn"
- "*.edu.cn"

upstream_proxy: 'http://127.0.0.1:8080' # 设置上游代理,隐藏个人IP
basic-crawler

爬虫需要设置的内容可能稍微偏多一些

图片

爬虫没有单独设置代理,它的代理使用的http配置项中的代理来实现隐藏IP或者防护的。

max_depth: 1
max_count_of_links: 10

hostname_allowed:   # 设置允许访问域名,*通配符
- "*.ncu.edu.cn"
- "*.jxnu.edu.cn"
hostname_disallowed: # 设置不允许访问的域名
- "*google*"
- "*firefox*"
- "*bing.com"
- "*.gov.cn"
- "*.edu.cn"

完成这些基础配置后,绝大部分的工作场景都能使用了

  申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线

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

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

相关文章

SSH远程连接docker容器-Linux-SSH -L 打隧道

问题:在物理机上用podman创建了一个容器,想SSH直接远程连接docker容器 解决方式: 步骤1: 在本地terminal输入以下命令: ssh -L 容器端口号:localhost:容器端口号 物理机用户名物理机ip -p 物理机端口号 即可,可新打…

1、k8s问题pod从service中剔除

一、起因 redis原来由两服务器的集群变为三服务器的集群,通过statefulset扩展了两节点,并把redis-app-0和redis-app-3从集群中去除,但是由于service路由后端不变,导致程序连接后端仍然可能到redis-app-0和redis-app-3 二、处理 …

WiFi、Ethenet、4G优先级切换

1、多网卡情况下如何调整优先级方案 按照目前公司前辈给出的方案&#xff0c;调整优先级的手段有两种&#xff1a; <1>.删除默认路由--route del 的方法 <2>.ifmetric源码提供的修改路由表的mteric的值来设置路由的优先级&#xff0c;metric越小优先级越高。 应…

C#开发中关于业务类与窗口文件以及数据库的大体连接流程(业务类的写法)

所有的开发在基准上&#xff0c;都是数据的交互&#xff0c;在VS中基于WinFrm的C#开发可以采用业务类与窗口类分开&#xff0c;以形成模块&#xff0c;接下来简述大体开发流程 业务类中&#xff0c;我们需要继承EntityClass类&#xff0c;来形成与窗口类的接口&#xff1a; pu…

Spring 事务 @Transactional 注解

上期我们讲解了Spring事务的两种实现&#xff0c;其中声明式注解使用了 Transactional 注解&#xff0c; 接下来我们学习 该注解的使用细节。 我们主要学习 Transactional注解当中的三个常见属性&#xff1a; rollbackFor&#xff1a;异常回滚属性&#xff0c;指定能够出发事…

河道采砂执法监管信息化平台:科技赋能,智慧监管

随着信息技术的飞速发展&#xff0c;信息化平台已经成为提升行业监管效率和水平的重要工具。河道采砂作为水利资源管理的重要环节&#xff0c;其执法监管同样需要与时俱进&#xff0c;利用先进技术手段提升监管效能。河道采砂执法监管信息化平台便是这一背景下的产物&#xff0…

【总结】hbase master重启恢复失败问题修复

问题现象 最近hbase master 莫名其妙宕机了&#xff0c;查看最后输出日志&#xff0c;也没有发现有效信息。 于是想着先重启一把&#xff0c;在hbase master 选主成active状态的过程中&#xff0c;发现重启多次都很漫长&#xff0c;且最终因重启时间过长&#xff0c;被hbase-…

基于STM32的蓝牙小车(虚拟串口模拟)的Proteus仿真

文章目录 一、前言二、仿真图1.要求2.思路3.画图3.1 电源部分3.2 超声波测距部分3.3 电机驱动部分3.4 按键部分3.5 蓝牙部分3.6 显示屏部分3.7 整体 4.仿真5.软件 三、总结 一、前言 proteus本身并不支持蓝牙仿真&#xff0c;这里我采用虚拟串口的方式来模拟蓝牙控制。 这里给…

了解网卡、光猫、路由器

了解网卡、光猫、路由器 一、网卡二、光猫三、路由器四、光猫和路由器的联系和区别五、家庭正常上网的简单流程六、企业正常上网的简单流程 一、网卡 网卡&#xff1a;用来允许计算机在计算机网络上进行通讯的计算机硬件 一般来说&#xff0c;笔记本都有两种网卡&#xff0c;有…

栈和队列--数据结构

栈&#xff08;Stsck&#xff09; 概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵循“后进先出”&#xff08;LIFO&#xff09;的原则。 …

性价比高超声波清洗机品牌有哪些?四款高性价比超声波清洗机安利

如果你经常不清洗眼镜&#xff0c;那么非常推荐你入手一台超声波清洗机在家清洗眼镜&#xff01;因为&#xff0c;超声波清洗机清洗眼镜真的非常方便。如果你经常佩戴眼镜&#xff0c;但是常常忘记清洗的话&#xff0c;看完这篇文章后一定要改掉不清洗眼镜的坏习惯&#xff0c;…

ffmpeg的安装以及使用

1.FFmpeg 的主要功能和特性&#xff1a; 格式转换&#xff1a;FFmpeg 可以将一个媒体文件从一种格式转换为另一种格式&#xff0c;支持几乎所有常见的音频和视频格式&#xff0c;包括 MP4、AVI、MKV、MOV、FLV、MP3、AAC 等。视频处理&#xff1a;FFmpeg 可以进行视频编码、解…

数码相机数据恢复,3招找回珍贵照片!

“我有一部数码相机&#xff0c;存储了很多很重要的文件和数据。但是我一不小心就误删了里面的重要数据&#xff0c;有什么方法可以恢复相机里的文件吗&#xff1f;” 数码相机已成为我们日常生活中不可或缺的一部分&#xff0c;它帮助我们记录生活的点滴&#xff0c;留下美好的…

SSL证书一年要多少钱

经常会被人问道&#xff1a;“安装SSL证书一年得要多少钱&#xff1f;”其实证书的类型不同、功能不同、品牌不同&#xff0c;证书的价格也会不一样。SSL证书的价格因其类型、品牌、购买渠道以及所包含的服务和支持等因素而有所不同。通常一年的费用从几十元到几万元不等。 一…

ABAP Visual Code 新建sap系统连接

本文主要介绍如何新建SAP前端系统链接 前提是你已经都扩展完了 1.点击SAP fiori--》点击新建 2.选择 abap on premise 3.输入如下信息 4.这里介绍下URL 如何获取 SMICM-->点击service 明细里面可以看到你的host name 和 port 当然你也可以随便找一个你的odata 服务看下ur…

在vscode使用MATLAB

官方链接 首先安装好vscode、python 与 MATLAB&#xff0c;注意python与MATLAB的版本&#xff0c;参考链接 都安装好后 验证&#xff1a; 安装插件&#xff1a;matlab in vscode &#xff0c;并进行如下设置&#xff0c;参考链接 至此就差不多OK了

Uvicorn+Gunicorn+FastAPI学习笔记

WSGI Web服务器网关接口(Python Web Server Gateway Interfeace&#xff0c;缩写WSGI)是为python定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。 Gunicorn Gunicorn是一个基于Python的WSGI&#xff08;Web服务器网关接口&#xff09;HTTP服务器&#xff0…

看完马云的简历,我明白了为什么他对钱没有兴趣。。。

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2.8 分钟。 来自&#xff1a;网路 马云的人生故事&#xff0c;如同一部传奇&#xff0c;充满着坎坷、奋斗和成功。 尽管他早年的高考经历并不顺利&#xff0c;但他的坚韧和梦想驱使着他不断前行&#xff…

算法-KMP算法

时间复杂度&#xff1a; public int strStr(String haystack, String needle) {int[] next new int[needle.length()];//next数组的生成next[0] 0;int prefixLen 0;//共同前后缀长度int i 1, j 1;//i,j复用while (i < needle.length()) {if (needle.charAt(prefixLen)…

可视化大屏的应用(16):智慧社区和网格化管理的价值

hello&#xff0c;我是大千UI工场&#xff0c;本篇分享智慧社区和网格化管理大屏设计&#xff0c;关注我们&#xff0c;学习N多UI干货&#xff0c;有设计需求&#xff0c;我们也可以接单。 实时监控和预警 可视化大屏可以将社区内各种数据、指标和信息进行实时监控和展示&…