探针漏洞_长亭xray:一款自动化Web漏洞扫描神器(免费社区版)

2023-11-06

xray 简介

xray 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动、被动多种扫描方式,自备盲打平台、可以灵活定义 POC,功能丰富,调用简单,支持 Windows / macOS / Linux 多种操作系统,可以满足广大安全从业者的自动化 Web 漏洞探测需求。

https://www.zhihu.com/video/1145001352550928384

特色

  • 使用 go 语言编写,跨平台、纯异步、无阻塞,并发能力强,扫描速度刚刚的
  • 提供多种使用方式,调用姿势方便,输入输出非常标准化,极具可集成性
  • 使用 YAML 配置文件非常方便地定义 POC,可以快速扩展扫描能力
  • 全程使用无害 POC 进行探测,在确保能发现漏洞的基础上不会给业务带来严重影响,非常适用于企业内部安全建设
  • 命令行式的免费被动扫描工具,不多见
  • 自备盲打平台,可检测需要反连才能触发的漏洞,如:存储型 XSS、无回显的 SSRF、XXE、命令注入等
  • 更新速度快,用着不爽可以在 github 提需求,很快就能解决(我试过了,是真的)

适用人群

  • 白帽子。挖 SRC 必备,打开浏览器挂上代理,然后上网冲浪等漏洞就对了,还不够的话就把代理给你爸妈、给你妹子、给你家猫都挂上
  • 甲方安全建设者。工具在手,天下我有,细粒度配置,高精度扫描,可作为定期巡检、常规扫描的辅助神器
  • 乙方工具开发者。在编写渗透框架或者漏洞扫描框架时,作为扫描探针进行集成,简直是大平台中的小尖刀

快速使用

扫描一个站点

最简单的方式是直接调用,扫描一个指定的站点,如:

./xray webscan --basic-crawler http://example.com/
这可能是最简单最常用的一个功能,就是太长了,体验不太友好,建议常用的同学可以 alias xray="/path/xray webscan --basic-crawler"

指定扫描输出

不指定输出时,默认输出到控制台的标准输出中,可以做管道处理,也可以选择输出为文件,如:

./xray webscan --url http://example.com/ --json-output report.json

不同参数对应不同的输出方式:

  • 无参数:输出到控制台的标准输出
  • --text-output:输出到文本文件中
  • --json-output:输出到 JSON 文件中
  • --html-output:输出到 HTML 文件中

基于代理的被动扫描

xray 可以通过类似 Burp 的方式启动,利用 HTTP 代理来抓包扫描,如:

./xray webscan --listen 127.0.0.1:7777

如果运行没报任何错就可以设置浏览器 HTTP 代理为 127.0.0.1:7777 了,关于如何设置浏览器代理,请打开百度搜索 “浏览器设置代理”。

代理设置 OK 以后就可以启动代理扫描了,这时候我们打来浏览器尽情冲浪吧,理论上我们的鼠标点到哪 xray 就能扫到哪。

需要注意一下的是,很多时候还会扫到 HTTPS 站点,可能会因为有代理而导致无法访问,或者需要手动确认安全风险。这时候需要我们导入 xray 运行目录下的 ca.crt 证书,关于如何导入 CA 证书,请打开百度搜索 “安装CA证书”。

➜   ls
ca.crt      ca.key      config.yaml xray

高级姿势

指定扫描插件

使用 --plugins 参数可以选择仅启用部分扫描插件,多个插件之间可使用逗号分隔,如:

./xray webscan --plugins cmd_injection --url http://example.com/

目前提供的插件列表如下:

  • SQL 注入检测 (key: sqldet)
    支持报错注入、布尔注入和时间盲注等
  • XSS 检测(key: xss)
    支持扫描反射型、存储型 XSS
  • 命令/代码注入检测 (key: cmd_injection)
    支持 shell 命令注入、PHP 代码执行、模板注入等
  • 目录枚举 (key: dirscan)
    检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件
  • 路径穿越检测 (key: path_traversal)
    支持常见平台和编码
  • XML 实体注入检测 (key: xxe)
    支持有回显和反连平台检测
  • POC 管理 (key: phantasm)
    默认内置部分常用的 POC,用户可以根据需要自行构建 POC 并运行。可参考:POC 编写文档
  • 文件上传检测 (key: upload)
    支持检测常见的后端服务器语言的上传漏洞
  • 弱口令检测 (key: brute_force)
    支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典
  • JSONP 检测 (key: jsonp)
    检测包含敏感信息可以被跨域读取的 jsonp 接口
  • SSRF 检测 (key: ssrf)
    ssrf 检测模块,支持常见的绕过技术和反连平台检测
  • 基线检查 (key: baseline)
    检测低 SSL 版本、缺失的或错误添加的 http 头等
  • 任意跳转检测 (key: redirect)
    支持 HTML meta 跳转、30x 跳转等
  • CRLF 注入 (key: crlf_injection)
    检测 HTTP 头注入,支持 query、body 等位置的参数

只扫描一个 URL

xray 还提供了方便的只扫描一个 URL 的方式,如:

./xray webscan --url http://example.com/ --json-output out.json

配置文件

xray 还提供了友好配置文件,可以方便地将常用的命令行参数写到配置文件中,避免了每次都要输入一大串参数的痛苦。

xray 默认会读取运行目录下的 config.yaml 文件作为配置危机,也可以使用 --config 参数指定其他配置文件。

关于命令行的详细配置可以参考 xray 官方文档。

反连平台

xray 在运行时会自动启动反连平台来辅助盲打扫描,可以在配置文件中修改反连平台的配置。目前支持 http 和 dns 两种反连机制,当服务端触发 payload 时 xray 会根据反连平台的状态判断漏洞是否存在。

dns 反连需要启用 root 权限监听 53 端口,并且将域名的 ns 记录指向反连平台的监听地址

自定义 POC

xray 支持用户使用 YAML 编写 POC。YAML 是JSON 的超集,也就是说我们甚至可以用 JSON 编写 POC,但这里还是建议大家使用 YAML 来编写,原因如下:

  • YAML 格式的 “值” 无需使用双引号包裹,特殊字符无需转义
  • YAML 格式使内容更加可读
  • YAML 中可以使用注释

我们可以编写以下的 yaml 来测试 tomcat put 上传任意文件漏洞:

name: poc-yaml-tomcat_put
rules:
  - method: PUT
    path: /hello.jsp
    body: world
  - method: GET
    path: /hello.jsp
    search: world

这里还要感谢 phith0n 贡献的 xray PoC 生成器,虽然丑陋,但不失文雅。

将 POC 保存到 YAML 文件后使用 --poc 参数可以方便地调用,如:

./xray webscan --plugins phantasm --poc /home/test/poc.yaml --url http://example.com/

关于 xray

xray 是个公益性项目,不走商业化路线,旨在分析我们的研究成果,吸收社区大佬的经验,虚心接受批评和指责,无限制、不收费,也欢迎企业用户包装使用,希望大家支持。

项目地址:https://github.com/chaitin/xray (求 star)

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

探针漏洞_长亭xray:一款自动化Web漏洞扫描神器(免费社区版) 的相关文章

  • 解决VS2015生成Qt5的QMainWindows界面解决方案时产生一个“表达式必须包含指针类型”的问题

    解决VS2015生成Qt5的QMainWindows界面解决方案时产生一个 表达式必须包含指针类型 的问题 问题描述 分析过程 总结 问题描述 VS2015生成了一个QMainWindow界面 我在cpp实现文件使用ui这个表达式时出现下面
  • 单链表的合并【去重】

    2个有序单链表的合并 void Mergelist L LinkList LA LinkList LB LinkList LC pa LA gt next pb LB gt next LC LA LinkList pc LC while p
  • 智能仓储管理系统(自动化仓库管理解决方案)

    企业实际的仓储管理中 往往会出现那样这样的错误 归根结底 主要是由于没使用合适的仓库管理工具 相反 人工使用合适的仓库管理工具 不仅可以在日常仓库管理方法中根据采集到的产品信息数据 大大地提高管理效率 降低库存实际管控成本 还可降低人工管理
  • 【严重】Smartbi未授权设置Token回调地址获取管理员权限

    漏洞描述 Smartbi是一款商业智能应用 提供了数据集成 分析 可视化等功能 帮助用户理解和使用他们的数据进行决策 在 Smartbi 受影响版本中存在Token回调地址漏洞 未授权的攻击者可以通过向目标系统发送POST请求 smartb
  • 个人用记录:docker启动容器之后不久就会自动关闭

    原因是 docker容器运行必须有一个前台进程 如果没有前台进程执行 容器认为空闲 就会自行退出 尝试方案1 docker run dit name jenkins p 8080 8080 jenkinsci blueocean bin b
  • JS基础-Navigator-尚硅谷-P124

    视频链接 视频 代码
  • C语言之va_list

    va list va list 是在C语言中解决变参问题的一组宏 变参问题是指参数的个数不定 可以是传入一个参数也可以是多个 可变参数中的每个参数的类型可以不同 也可以相同 可变参数的每个参数并没有实际的名称与之相对应 用起来是很灵活 va
  • IT项目管理作业4

    分析与工具 你联合同学做一个年级微信公众号加强各班相互了解 联合活动等 请编制项目章程和项目管理计划 指导该项目实施与运营 必须包含 WBS 和 甘特图 召开一个项目策划研讨会 每个人用思维导图记录会议内容 该图必须满足 话题跟踪 热点标注
  • JVM(java 虚拟机)内存设置

    一 设置JVM内存设置 1 设置JVM内存的参数有四个 Xmx Java Heap最大值 默认值为物理内存的1 4 最佳设值应该视物理内存大小及计算机内其他内存开销而定 Xms Java Heap初始值 Server端JVM最好将 Xms和
  • 半导体制程发展史

    半导体制程发展史 大杀器级别文献 摘要 半导体制造的工艺节点 涉及到多方面的问题 如制造工艺和设备 晶体管的架构 材料等 分析半导体制造的工艺节点发展历程 其实就是在回顾半导体大咖的统治史 首先 技术节点 诸如台积电16nm工艺的Nvidi
  • 函数式编程-Stream流学习第二节-中间操作

    1 Stream流概述 java8使用的是函数式编程模式 如同它的名字一样 它可以用来对集合或者数组进行链状流式操作 让我们更方便的对集合或者数组进行操作 2 案例准备工作 我们首先创建2个类一个作家类 一个图书类 package com
  • STL(标准模板库)专题

    STL 标准模板库 专题 STL主要分为分为三类 容器 STL主要分为分为三类 algorithm 算法 对数据进行处理 解决问题 步骤的有限集合 container 容器 用来管理一组数据元素 Iterator 迭代器 可遍历STL容器内
  • 【C++】实现一个日期计算器

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 日期计算器的功能 二 获取每个月的天数 三 Date类
  • python答题系统的代码_答题辅助python代码实现

    本文实例为大家分享了答题辅助python具体代码 供大家参考 具体内容如下 from screenshot import pull screenshot import time urllib request try import Image
  • EasyPoi 导出表格并设置表头

    EasyPoi 导出表格 EasyPoiUtil 工具类 设置表头 NewExcelExportStylerDefaultImpl 工具类 VO实体类 对应的是表的列名 Controller 1 未设置表头版本 Controller 2 设
  • hp服务器能不能装win7系统,惠普 HPC0Q07PA可不可以装windows7系统_惠普 HPC0Q07PA怎么安装win7系统-win7之家...

    刚买了一台惠普 HPC0Q07PA笔记本电脑 想安装windows7系统 但不知道能不能安装 也不知道装完win7系统之后系统运行的流畅不流畅 小编特意查了下惠普 HPC0Q07PA笔记本的相关信息 跟大家分析下这个能不能安装win7系统
  • 点云的关键点检测-传统方法总结

    三维点云的关键点检测可以通过以下步骤实现 1 寻找局部区域 从点云中选择一个局部区域 2 估计曲率和法线 对局部区域进行曲率估计 并计算法向量 3 计算关键点 使用曲率和法线信息来计算点云的关键点 这可以通过计算曲率极值点 曲率变化最大点或
  • Vue里使用Element UI的Tabs時el-tab-pane的隱藏和顯示

    1 效果圖 隱藏相關項后
  • tensorflow与tflearn的安装时numpy无法更新问题

    对于老司机来说 这都不是事 但对于初学者来说 在安装看到python里import tflearn 在安装tensorflow还真遇到了问题 电脑 mac python版本2 7 直接运行 sudo pip install tensorfl

随机推荐

  • Linux系统中如何查看TCP连接数

    这篇文章主要为大家展示了 Linux系统中如何查看TCP连接数 内容简而易懂 条理清晰 希望能够帮助大家解决疑惑 下面让小编带领大家一起研究并学习一下 Linux系统中如何查看TCP连接数 这篇文章吧 一 查看哪些IP连接本机 netsta
  • raid配置ssd为缓存_群晖SSD缓存有什么用?

    作用 SSD 缓存功能 使用户可以通过添加 SSD 提高 Synology NAS 上的随机访问性能 功能模式 只读缓存 使用此类型的 SSD 缓存时 只会将经常访问的数据存储在 SSD 缓存中以提高随机读取速度 因为 SSD 不涉及任何数
  • stm32 IAP APP 相互跳转实验 (keil4 jlink STM32F407ZE)

    1 实验目标 STM32 IAP学习时 希望有一个快捷的方式去实验IAP与APP之间的相互跳转 1 验证IAP跳转至APP 2 验证APP通过软件reset跳转至IAP 避免再一开始就实验完整的IAP过程 编写BootLoader 编写 A
  • flutter 高德地图 amap_flutter_location 隐私合规校验失败

    flutter 高德地图 amap flutter location 隐私合规校验失败 提醒 ios版本他的最新库是没有办法使用的 如果你的项目需要使用到iOS版本 请使用下面的路径 https github com yangsiyi41
  • 微信开发(js-sdk)中遇见的各种问题

    微信开发的准备工作 不熟 不是我来搞的 copy一下别人和官方的 1 绑定域名 先登录微信公众平台进入 公众号设置 的 功能设置 里填写 JS接口安全域名 备注 登录后可在 开发者中心 查看对应的接口权限 2 引入js文件 在需要调用JS接
  • 动态路由协议RIP配置实战

    1 RIP简介 RIP是一种基于距离矢量 Distance Vector 算法的协议 它使用跳数 Hop Count 作为度量值来衡量到达目的地址的距离 在RIP网络中 RIP协议要求网络中每一台路由器都要维护从自身到每一个目的网络的路由信
  • Kettle-动态数据链接,使JOB得以复用

    动态数据连接 使JOB得以复用 背景 移动执法系统在目前的主要的部署策略为1 N的方式 即总队部署一套 地市各部署一套 且基本都在环保专网 各地市的业务数据需要推送到总队系统 以便总队系统做整体的监督 决策 在整个数据对接过程中 基于Ket
  • Matlab导入txt文件

    有三种常见的方式 1 A importdata filename txt 则A就是n m的矩阵了 2 load filename txt 这样也是载入n m的矩阵 3 在MATLAB的work文件夹下 选择想要导入的数据 用右键import
  • 前端系列-1 HTML+JS+CSS基础

    背景 前端系列会收集碎片化的前端知识点 作为自己工作和学习时的字典 欢迎读者收藏和使用 笔者是后端开发 前端涉猎不深 因此文章重在广度和实用 对原理和性能不会过多深究 1 html 1 1 html5网页结构
  • 如何判断两条线段是否相交

    本篇是在 C 笔记 如何判断2个线段相交 的基础上加上自己的理解和实践总结出的判断两线段是否相交的方法 判断两条线段是否相交 先附上判断函数 bool judge int Ax1 int Ay1 int Ax2 int Ay2 int Bx
  • vue3的ref,unref,reactive,toRefs,toRef

    ref函数 接受一个初始值并返回一个响应式且可变的 ref 对象 ref 对象仅有一个 value属性 指向该初始值 const count ref 0 console log count value 0 count value conso
  • 判断图连通性的三种方法

    在看哥尼斯堡七桥问题的时候 谈到欧拉回路的问题 不免又想到了图的连通性 想到以后说不定会遇到相关问题 就做下连通性判断算法总结实现 如果一个图是连通的 那么从一个节点开始访问 采用深度优先或者广度优先对它进行遍历 那么必定能够访问完所有的节
  • xml转JavaBean

    在进行webservice通信的时候 需要解析xml为一个对象 由于个人也是第一次接触xml转对象 于是参考网上的例子写了一个工具类 所有jar包支持 fastjson dom4j public class XmlConverBeanUti
  • 数字化转型:科技赋能供给创造需求 附下载

    疫情对各行业及科创的影响我们都深切地感受到了 像AI家居 AR游戏等比较火爆的项目都是在疫情中喷发 此报告结合疫情驱动新兴技术演变及商业落地的态势 探讨数字化对于科创的意义 报告亮点 5G商业化将伴随成熟应用由点向面展开 人工智能和企业数字
  • 06-底层必备源码-JVM底层-GC算法流程(自我总结)

    一 判断 是否GC 的算法 1 引用计数法 1 1 规则 如果这个obj被引用 计数器 1 引用失效 计数器 1 当一个obj的引用计数器为0 就不代表被使用 1 2 缺点 不能解决循环引用的问题 2 可达性分析算法 2 1 规则 以GCr
  • Keras CIFAR-10图像识别数据集 2021-07-10

    Keras CIFAR 10图像识别数据集 一 下载CIFAR 10数据 1 导入所需模块 from keras datasets import cifar10 import numpy as np np random seed 10 2
  • 万事开头难——Android SDK安装

    首届 Google 暑期大学生博客分享大赛 2010 Andriod 篇 今天研究了一上午才把SDK安装成功 真是万事开头难 下面就把安装的过程分享出来 Eclipse Android SDK 2 1环境部署 一 第一步安装JDK Java
  • t检验与Z检验的区别

    在统计学中 假设检验是评估某种特定情况下观察到的数据是否符合假设的一种方法 t检验和Z检验是两种常用的假设检验方法 分别用于比较均值差异以及比例差异 在医学统计中 t检验和Z检验经常被用于研究和比较不同治疗方法的效果 例如药物疗效 手术效果
  • spring JavaBean引入JavaBean ( 外部引用, 内部定义, 级联属性 )

  • 探针漏洞_长亭xray:一款自动化Web漏洞扫描神器(免费社区版)

    xray 简介 xray 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器 支持主动 被动多种扫描方式 自备盲打平台 可以灵活定义 POC 功能丰富 调用简单 支持 Windows macOS Linux 多种操作系统 可以满足广大安全从业