xray:漏洞扫描利器

简介

长亭科技旗下的一款网络安全漏洞扫描工具,用于检测和评估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. 官方下载:GitHub - chaitin/xray: 一款完善的安全评估工具,支持常见 web 安全问题扫描和自定义 poc | 使用之前务必先阅读文档
  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/vulntype
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"

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系统】文件 / 文件夹权限:chmod

文件 / 文件夹权限:chmod 1.介绍 chmod 命令用于改变文件或目录的访问权限。 改变文件权限 chmod 777 xxx.txt改变文件夹下所有文件的权限 chmod -R 777 *-R 是递归遍历子目录,* 通配符代表要操作的文件。 777 777 777 有 3 3 3 位,最高…

设计模式之保护性暂停

文章目录 1. 定义2. 实现保护性暂停模式3. Join原理4. 保护性暂停模式的扩展 1. 定义 即Guarded Suspension,用在一个线程等待另一个线程的执行结果。 有一个结果需要从一个线程传递给另一个线程,让他们关联到同一个GuarderObject(这就是保…

Chromebook文件夹应用新功能

种种迹象表明 Google 旗下的 Chromebooks 近期要有大动作了。根据 Google 团队成员透露,公司计划在 Chrome OS 的资源管理器中新增“Recents”(最近使用)文件,以便于用户更快找到所需要的文件。 种种迹象表明 Google 旗下的 Chro…

Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较

Flutter vs 前端 杂谈 SliverAppBar的弹性背景的显隐效果使用HtmlJS怎么实现 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550…

有电闭锁继电器 YDB-100 100V 辅助电源DC110V JOSEF约瑟 板后安装

YDB-100有电闭锁继电器 1 应用 本继电器用于发电厂和变电站内,用作高压母线合接地刀闸的闭锁元件,以防止高压母线带电时合接地刀闸。 2 主要性能 2 1采用进口集成电路和元器件构成。具有原理先进、性能稳定、可靠性高、动作值精度高、离散值小、整定范围…

文件分片上传设计

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 现在是接近凌晨了,突然有伙伴给我提到了文件分片上传的事情,我一想,这个我熟…

【全志H616 使用标准库 完成自制串口库(分文件实现) orangepi zero2(开源)】.md updata: 23/11/07

文章目录 H616 把玩注意:Linux内核版本5.16 及以上,需手动配置i2c-3 uart5驱动配置示例 分文件编译时需将每个文件一同编译 (空格隔开)例: ggc a.c b.c b.h -lpthread -lxxx..; 常用命令查看驱动文件查看内核检测信息/…

美妆行业如何通过自媒体提升品牌曝光

自媒体的出现使美妆行业的推广方式产生了变化,自媒体平台的用户年轻化、用户基数大、消费力较强,能够接受新鲜事物,为美妆品牌带来广阔的市场和消费人群。 因此自媒体平台的内容运营十分重要,今天媒介盒子就来和大家聊聊&#xf…

npm install:sill idealTree buildDeps

执行npm install,卡在 sill idealTree buildDeps PS D:\workspace-groovy\attendance-india-web> npm install -g cnpm --registryhttps://registry.npm.taobao.org [..................] / idealTree:node_global: sill idealTree buildDeps[.................…

基于厨师算法的无人机航迹规划-附代码

基于厨师算法的无人机航迹规划 文章目录 基于厨师算法的无人机航迹规划1.厨师搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用厨师算法来优化无人机航迹规划。 1.厨师搜索算法 …

NSSCTF web刷题记录4

文章目录 [NSSRound#4 SWPU]1zweb(revenge)[强网杯 2019]高明的黑客[BJDCTF 2020]Cookie is so subtle![MoeCTF 2021]fake game[第五空间 2021]PNG图片转换器[ASIS 2019]Unicorn shop[justCTF 2020]gofs[UUCTF 2022 新生赛]phonecode[b01lers 2020]Life On Mars[HZNUCTF 2023 f…

Python 中 Selenium 的 getAttribute() 函数

Selenium 的 Python 模块旨在提供自动化测试过程。 Selenium Python 绑定包括一个用于编写 Selenium WebDriver 功能/验收测试的简单 API。 拥有移动能力并没有多大好处。 我们想要与页面交互,或者更准确地说,与组成页面的 HTML 片段交互。 本文将解释…

基于springboot和vue的校园二手物品交易管理系统

博主24h在线,想要源码文档部署视频直接私聊,全网最低价,9.9拿走! 基于VUE的校园二手物品交易管理系统8 1、项目介绍 基于VUE的校园二手物品交易管理系统8拥有两种角色 管理员:闲置物品管理、订单管理、用户管理 用户…

【bug-maven】(一)java: 错误: 不支持发行版本 5 (二):java: 错误: 无效的源发行版:15

【bug-maven】(一)java: 错误: 不支持发行版本 5 (二):java: 错误: 无效的源发行版:15 (一)java: 错误: 不支持发行版本 5 报错截图: 出错原因: 打开Projec…

SAP-MM-查找采购订单的创建和修改日期

在采购订单页面可以查看采购订单的修改和创建,但是有些内容不能完成看到 例如这个订单显示是用户唐创建,但是他不记得是什么时候创建的,怎么创建的? 点击菜单-环境-表头更改、项目更改,可以查看更改内容 通过这个表可…

C语言——数组

一,数组的概念和特点 数组是存放两个或两个以上相邻储存单元的集合,每个储存单元中存放相同数据类型的数据,而这样的单元也被称为数组元素。 我们将这句话进行拆分,不难发现数组的特点有: 1,数组是存放多…

java计算机毕业设计SpringBoot在线答疑系统

项目介绍 本文从学生的功能要求出发,建立了在线答疑系统,系统中的功能模块主要是实现管理员权限;首页、个人中心、学生管理、教师管理、问题发布管理、疑难解答管理。教师权限:首页、个人中心、疑难解答管理、试卷管理、试题管理…

TCP协议

TCP 1. 格式2. TCP原理2.1 确认应答(安全机制)2.2 超时重传(安全机制)2.3 连接管理机制(安全机制)2.3.1 三次握手2.3.2 四次挥手 2.4 滑动窗口(效率机制) 2.5 流量控制(效率机制) 1. 格式 源/目的端口号:表示数据是从哪个进程来,到哪个进程去&#xff1b…

机器学习——回归

目录 一、线性回归 1、回归的概念(Regression、Prediction) 2、符号约定 3、算法流程 4、最小二乘法(LSM) 二、梯度下降 梯度下降的三种形式 1、批量梯度下降(Batch Gradient Descent,BGD)&#xff…

基于SpringBoot+Vue的点餐管理系统

基于springbootvue的点餐平台网站系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 菜品详情 个人中心 订单 管理员界面 菜品管理 摘要 点餐管理系统是一种用…