Xray简单使用「建议收藏」

Xray简单使用「建议收藏」Xray简单使用教程0X00下载xray为单文件二进制文件,无依赖,也无需安装,下载后直接使用。下载地址为:Github:https://github.com/chaitin/xray/releases(国外速度快)网盘:https://yunpan.360.cn/surl_y3Gu6cugi8u(国内速度快)注意:不要直接clone仓库,xray并不开源,仓库内不含…

大家好,又见面了,我是你们的朋友全栈君。

Xray简单使用教程

0X00下载

xray 为单文件二进制文件,无依赖,也无需安装,下载后直接使用。

下载地址为:

Github: https://github.com/chaitin/xray/releases (国外速度快)

网盘: https://yunpan.360.cn/surl_y3Gu6cugi8u (国内速度快)

注意: 不要直接 clone 仓库,xray 并不开源,仓库内不含源代码,直接下载构建的二进制文件即可。

xray 跨平台支持,请下载时选择需要的版本下载。

0X01版本选择

windows_amd64 Windows x64

windows_386 Windows x86

系统版本要求大于等于 Windows 7 或大于等于 Windows Server 2008 R2, 不支持 Windows XP、Windows 2003 等低版本系统。

对于 release 中的其他文件,说明如下:

sha256.txt 校验文件,内含个版本的 sha256 的哈希值,请下载后自行校验以防被劫持投毒。

Source Code Github 自动打包的,无意义,请忽略。

0X02运行

下载对应系统的版本后,来查看下 xray 的版本号。

以下载到 C:\Users$User\Downloads 为例,右键解压,就可以得到 xray_windows_amd64.exe 文件了(有的解压软件还会创建一个 xray_windows_amd64.exe 的文件夹,不要和最终的可执行文件混淆了)。

使用桌面左下方的的搜索框,输入 PowerShell,点击 Windows PowerShell,进入命令终端。

然后 cd 到下载目录,运行 .\xray_windows_amd64.exe version 即可查看 xray 的版本号。

在这里插入图片描述

0X03基础命令

.\xray_windows_amd64.exe –h

通过-h命令发现xray命令有

在这里插入图片描述

GLOBAL OPTIONS

先来看一个界面中的这三个全局配置项。全局配置的意思是如果在这指定了,那么所有命令执行的时候都会生效。

–config 用于指定配置文件的位置,默认加载同目录的 config.yaml。关于配置文件请看下一节文档的内容

–log_level 用于指定全局的日志配置,默认为 info, 可以通过设置为 debug 来查看更详细的请求信息、运行时日志信息。

全局配置的使用时需要紧跟二进制程序,如:

.\xray_windows_amd64.exe –log_level debug –config 1.yaml webscan –url xxx

.\xray_windows_amd64.exe –log_level debug reverse

而下面这种方式是不生效的,使用时需要注意下:

.\xray_windows_amd64.exe webscan –log_level debug

commands

xray 的命令有 6 个,抛开 version 和 help 这两个信息展示型的命令,还有 webscan, reverse, genca, subdomain 四个。

reverse 命令用于启动单独的盲打平台服务,盲打平台用于处理没有回显或延迟触发的问题,如果你挖过存储型 XSS,一定对这个不陌生。这部分内容相对独立,单独用一节来介绍。

genca 用于快速生成一个根证书,主要用于被动代理扫描 HTTPS 流量时用到。

subdomain 是子域名扫描的命令,仅高级版才有。

webscan 是 xray 的重头戏。

subdomain子域名扫描

扫描 example.com,并将结果输出到 example.txt

.\xray_windows_amd64.exe subdomain –target example.com –text-output example.txt

扫描 example.com,并使用 console ui 交互式界面,同时记录结果到 example.txt

.\xray_windows_amd64.exe subdomain –target example.com –console-ui –text-output example.txt

webscan 扫描web漏洞

运行 .\xray_windows_amd64.exe webscan -h,可以看到

在这里插入图片描述

配置扫描插件

–plugins 配置本次扫描启用哪些插件, 不再使用配置文件中的配置

–plugins xss –plugins xss,sqldet,phantasm

–poc 配置本次扫描启用哪些 POC, 因为所有 POC 隶属于 phantasm 插件, 所以该参数其实是 phantasm 插件独有的配置。为了使用方便,该参数支持 Glob 表达式批量加载,

解析规则为用该参数值匹配内置的 poc 名字,如果有匹配到则启用;然后检查能否匹配本地文件,如果能匹配到,也加载。用起来是非常灵活的,如

只加载一个 POC, 精准匹配

–plugins phantasm –poc poc-yaml-thinkphp5-controller-rce

加载内置的所有带 thinkphp 的 POC

–plugins phantasm –poc “thinkphp

加载本地 /home/test/pocs/ 目录所有的 POC:

–plugins phantasm –poc “/home/test/pocs/*”

加载 /home/test/pocs/ 下包含 thinkphp 的 POC

–plugins phantasm –poc “/home/test/pocs/thinkphp” …

配置输入来源

中间的这四个是互斥的,意味着一次只能启用这5个的一个。

–listen 启动一个被动代理服务器作为输入,如 –listen 127.0.0.1:4444,然后配置浏览器或其他访问工具的 http 代理为 http://127.0.0.1:4444 就可以自动检测代理中的 HTTP 请求并进行漏洞扫描。

–basic-crawler 启用一个基础爬虫作为输入, 如 –basic-crawler http://example.com,就可抓取 http://example.com 的内容并以此内容进行漏洞扫描

–url 用于快速测试单个 url,这个参数不带爬虫,只对当前链接进行测试。默认为 GET 请求,配合下面的 –data 参数可以指定 body,同时变为 POST 请求。

–raw-request 用于加载一个原始的 HTTP 请求并用于扫描,原始请求类似上面代码框中的原始请求,如果你用过 sqlmap -r,那么这个参数应该也很容易上手。

配置输出

最后三个用于指定结果输出方式,这三种方式可以单独使用,也可以搭配使用。

–html-output 将结果输出为 html 报告, 报告样例

–webhook-output 将结果发送到一个地址

–json-output 将结果输出到一个 json 文件中

–webhook-output和–json-output 输出是 json 格式的结构化数据,数据格式参照: 漏洞格式。

你可以在–json-output和–html-otput参数中使用变量__timestamp__和__datetime__,这样文件名中对应位置会自动替换为时间戳或日期时间,避免输出到同一文件时报错。如–html-output report-datetime.html将使用report-2019_11_01-10_03_26.html作为报告文件名。

联合使用

将上面说的一些结合起来使用,就可以满足多种场景下的使用需求了。下面的例子都是可以正常运行的,作用不言而喻。

下面是一些例子

./xray_darwin_amd64 webscan –plugins xss –listen 127.0.0.1:1111 –html-output 1.html

./xray_darwin_amd64 –log_level debug webscan –plugins xss,cmd_injection –basic-crawler http://example.com –json-output 1.json

./xray_darwin_amd64 webscan –url http://example.com –data “x=y” –html-output 2.html –json-output 1.json

./xray_darwin_amd64 webscan –url http://example.com/ –webhook-output http://host:port/path

内容转自 https://www.cnblogs.com/L0ading/p/12388898.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144793.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • spring循环依赖为什么不是二级缓存_有效循环血量不依赖

    spring循环依赖为什么不是二级缓存_有效循环血量不依赖前置知识:所谓的三级缓存只是三个可以当作是全局变量的Map,Spring的源码中大量使用了这种先将数据放入容器中等使用结束再销毁的代码风格Spring的初始化过程大致有四步我们说的循环依赖就是第四步在给Bean属性注入的时候发生的一个问题循环依赖就是:假设有两个类A和B,A中需要注入B,B中需要注入A由于A注入B时B没有创建,B创建时A也无法创建导致的死循环问题我们都知道AOP是Spring的一个重要核心思想,其实现就是根据动态代理来实现的,也就是说我们的Bean其实很大概率都是要生成代理类,让

    2022年10月27日
  • Apache Web服务器安全配置全攻略[通俗易懂]

    Apache Web服务器安全配置全攻略[通俗易懂]作为最流行的Web服务器,ApacheServer提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。   Apache服务器的安全特性  1、采用选择性访问控制和强制性访问控制的安全策略  从Apache或Web的角度来讲,选择性访问控制DAC(DiscretionaryAccessControl)仍是基于用户名和密码的,强制性访问控制MAC(Mand

    2022年10月28日
  • Java线程同步:synchronized锁住的是代码还是对象

    Java线程同步:synchronized锁住的是代码还是对象在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。Synchronized既可以对代码块使用,也可以加在整个方法上。 关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:classSync{ publicsynchronizedvoidtest

  • MATLAB循环运算「建议收藏」

    MATLAB循环运算「建议收藏」MATLAB循环运算y=0;i=1;count=0;while(y<3)y=y+(1/i);i=i+2;count=count+1;enddisp(y)disp(count)

  • arping工具使用

    arping工具使用arping工具使用

  • python如何抛出异常_python自定义异常

    python如何抛出异常_python自定义异常python抛出异常的完整写法

    2022年10月18日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号