• 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$UserDownloads 为例,右键解压,就可以得到 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

  • 相关阅读:
    Visual Studio中Debug与Release以及x86、x64、Any CPU的区别 &&&& VS中Debug与Release、_WIN32与_WIN64的区别
    64位Windows下安装Redis教程
    让Redis在你的系统中发挥更大作用的几点建议
    Redis主从复制问题和扩容问题的解决思路
    redis常用命令小结
    Redis中5种数据结构的使用场景介绍
    redis中使用redis-dump导出、导入、还原数据实例
    Redis批量删除KEY的方法
    超强、超详细Redis数据库入门教程
    Redis总结笔记(一):安装和常用命令
  • 原文地址:https://www.cnblogs.com/ssw6/p/13202951.html
Copyright © 2020-2023  润新知