xray使用教程

xray使用教程

xray是P神还在长亭的时候开发的一款漏扫,分了社区版、高级版和企业版(洞监),虽然都不开源,但社区版能够免费使用,高级版只要贡献PoC就能获取授权。之前浅尝过同样是漏扫的AWVS,感觉体验还可以,这次来试一下xray怎样。

官方文档:xray 安全评估工具文档

安装

下载地址:https://github.com/chaitin/xray/releases

直接是二进制文件可以直接运行:

.\xray_windows_amd64.exe webscan -h
image-20220610101129666

基本使用

代理模式

代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。这种原理和 Burpsuite 的自带的漏扫原理是一样的。

生成 ca 证书

PS E:\Tool\Web\xray> .\xray_windows_amd64.exe genca

____  ___.________.    ____.   _____.___.
\   \/  /\_   __   \  /  _  \  \__  |   |
 \     /  |    _  _/ /  /_\  \  /   |   |
 /     \  |    |   \/    |    \ \____   |
\___/\  \ |____|   /\____|_   / / _____/
      \_/       \_/        \_/  \/

Version: 1.8.4/a47961e0/COMMUNITY

CA certificate ca.crt and key ca.key generated
PS E:\Tool\Web\xray> ls


    目录: E:\Tool\Web\xray


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-ar---         2022/6/10     10:21           1513 ca.crt
-ar---         2022/6/10     10:21           1679 ca.key
-a----          2022/6/9     18:28          13735 config.yaml
-a----         2022/1/30     15:47       47863296 xray_windows_amd64.exe

将生成的 ca 证书导入到需要代理的设备即可,这样就可以方便代理 https 的流量了。

这里以window下为例:

  • 双击 ca.crt,然后按照下图的步骤操作。
image-20220610102404564
image-20220610104045432
image-20220610104124415

后面就一路确认即可。

启用代理

第一次启动 xray 之后,当前目录会生成 config.yml 文件,选择文件编辑器打开,并按照下方说明修改。定位搜索到如下内容,往里面添加 testphp.vulnweb.com,这是AWVS的官方靶场,方便检测漏扫能力。

mitm:
  ...
  restriction:                          # 代理能够访问的资源限制, 以下各项为空表示不限制
    hostname_allowed:                 # 允许访问的 Hostname,支持格式如 t.com、*.t.com、1.1.1.1、1.1.1.1/24、1.1-4.1.1-8
    - testphp.vulnweb.com

因为我们的测试目标站就是 http://testphp.vulnweb.com,增加这个过滤之后,xray 将只会扫描该站的流量,避免扫描到非授权目标站点。

监听本地的7777端口,并设置漏洞报告的输出的文件名为:xray-testphp.html

.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output xray-testphp.html

配置代理

Chrome 下的 SwitchyOmega 插件很方便添加各种代理,将xray的代理添加进来,然后浏览器开启 xray 代理即可:

image-20220610105426389

开始扫描

使用刚刚设置过代理的 Chrome 浏览器访问:http://testphp.vulnweb.com

然后就可以看到 xray 界面开始输出漏洞信息,在用户和网站交互的时候,期间的连接 xray 都会进行安全检查,然后生成对应的漏洞报告:

下面是几个快速链接,可以点击用于体验更多的漏洞类型的扫描

  • http://testphp.vulnweb.com/listproducts.php?cat=1
  • http://testphp.vulnweb.com/artists.php?artist=2
  • http://testphp.vulnweb.com/redir.php?r=http://www.w3.org

可以在上面设置的输出格式里面看到对应的漏洞检测结果报告:

image-20220610105942101

爬虫模式

爬虫模式是模拟人工去点击网页的链接,然后去分析扫描,和代理模式不同的是,爬虫不需要人工的介入,访问速度要快很多,但是也有一些缺点需要注意。

  • xray 的基础爬虫不能处理 js 渲染的页面
  • 需要首先人工配置登录 cookie,必需的 http 头等,如果登录失败,也不容易发现问题。打开配置文件,修改 http 配置部分的 Headers 项:
  http:
    headers:
      Cookie: key=valueCopyErrorCopied

上述配置将为所有请求(包括爬虫和漏洞扫描)增加一条 Cookie key=value

在这个模式下,相当于主动扫描模式,自主分析页面的链接,然后自动探测是否有漏洞。

服务扫描

xray 也支持服务扫描,目前的服务扫描的POC还不够多,目前只有一个 tomcat-cve-2020-1938 ajp 协议任意文件检测poc。

参数配置目前比较简单,支持单个扫描与批量扫描:

# 快速检测单个目标
➜ ./xray servicescan --target 127.0.0.1:8009

# 批量检查的 1.file 中的目标, 一行一个目标,带端口
➜ ./xray servicescan --target-file test.file

其中 test.file 的格式为一个行一个 service,如

10.3.0.203:8009
127.0.0.1:8009

也可以将结果输出到报告中,支持多种格式:

# 将检测结果输出到 html 报告中
➜ ./xray servicescan --target 127.0.0.1:8009 --html-output service.html
➜ ./xray servicescan --target-file test.file --html-output service.html

# 将检测结果输出到 json 文件中
➜ ./xray servicescan --target 127.0.0.1:8099 --json-output service.json 

完整用法:

NAME:
    servicescan - Run a service scan task

USAGE:
    servicescan [command options] [arguments...]

OPTIONS:
   --target value       specify the target, for example: host:8009
   --target-file value  load targets from a local file, one target a line
   --json-output FILE   output xray results to FILE in json format
   --html-output FILE   output xray result to `FILE` in HTML format

尝试在本地部署Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)Vulhub环境链接来测试下:

.\xray_windows_amd64.exe servicescan --target 127.0.0.1:8009
image-20220610111645274

配置

命令详解

查看 -h 基本上我们搞安全的 基本上应该都很容易理解了:

PS E:\Tool\Web\xray> .\xray_windows_amd64.exe -h

____  ___.________.    ____.   _____.___.
\   \/  /\_   __   \  /  _  \  \__  |   |
 \     /  |    _  _/ /  /_\  \  /   |   |
 /     \  |    |   \/    |    \ \____   |
\___/\  \ |____|   /\____|_   / / _____/
      \_/       \_/        \_/  \/

Version: 1.8.4/a47961e0/COMMUNITY

NAME:
   xray - A powerful scanner engine [https://docs.xray.cool]

USAGE:
    [global options] command [command options] [arguments...]

COMMANDS:
   webscan, ws      Run a webscan task
   servicescan, ss  Run a service scan task
   subdomain, sd    Run a subdomain task
   poclint, pl      lint yaml poc
   transform        transform other script to gamma
   reverse          Run a standalone reverse server
   convert          convert results from json to html or from html to json
   genca            GenerateToFile CA certificate and key
   upgrade          check new version and upgrade self if any updates found
   version          Show version info
   help, h          Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --config FILE      Load configuration from FILE (default: "config.yaml")
   --log-level value  Log level, choices are debug, info, warn, error, fatal
   --help, -h         show help

GLOBAL OPTIONS

全局配置 如果在这指定了,那么所有命令执行的时候都会生效

# 用于指定配置文件的位置,默认加载同目录的 config.yaml
--config FILE  Load configuration from FILE

# 用于指定全局的日志配置,默认为info, 可以设置为debug查看更详细的信息
--log_level value  Log level, choices are debug, info, warn, error, fatal
--help, -h     show help

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

# 正确的用法
➜ ./xray --log_level debug --config my.yaml webscan --url xxx

# 错误的用法 全局配置没有紧跟二进制程序
➜ ./xray webscan --log_level debug --config my.yaml --url xxx

COMMANDS

命令说明
webscanxray核心功能,用来发现探测Web漏洞
servicescan服务扫描功能 用来探测服务漏洞
poclint检测poc是否符合规范
reverse启动单独的盲打平台服务
genca用于快速生成一个根证书,主要用于被动代理扫描HTTPS流量时用到
upgrade检查新版本并自动升级
version版本信息
help显示命令列表或一个命令的帮助
subdomain子域名扫描 高级本才有的命令
subdomain

没有高级版没有尝试

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

➜ ./xray  subdomain --target example.com --text-output example.txt

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

➜ ./xray  subdomain --target example.com --console-ui --text-output example.txt
webscan
PS E:\Tool\Web\xray> .\xray_windows_amd64.exe webscan -h

____  ___.________.    ____.   _____.___.
\   \/  /\_   __   \  /  _  \  \__  |   |
 \     /  |    _  _/ /  /_\  \  /   |   |
 /     \  |    |   \/    |    \ \____   |
\___/\  \ |____|   /\____|_   / / _____/
      \_/       \_/        \_/  \/

Version: 1.8.4/a47961e0/COMMUNITY

NAME:
    webscan - Run a webscan task

USAGE:
    webscan [command options] [arguments...]

OPTIONS:
   --list, -l                                     list plugins
   --plugins value, --plugin value, --plug value  specify the plugins to run, separated by ','
   --poc value, -p value                          specify the poc to run, separated by ','

   --listen value                                 use proxy resource collector, value is proxy addr, (example: 127.0.0.1:1111)
   --basic-crawler value, --basic value           use a basic spider to crawl the target and scan the requests
   --browser-crawler value, --browser value       use a browser spider to crawl the target and scan the requests
   --url-file value, --uf value                   read urls from a local file and scan these urls, one url per line
   --burp-file value, --bf value                  read requests from burpsuite exported file as targets
   --url value, -u value                          scan a **single** url
   --data value, -d value                         data string to be sent through POST (e.g. 'username=admin')
   --raw-request FILE, --rr FILE                  load http raw request from a FILE
   --force-ssl, --fs                              force usage of SSL/HTTPS for raw-request

   --json-output FILE, --jo FILE                  output xray results to FILE in json format
   --html-output FILE, --ho FILE                  output xray result to FILE in HTML format
   --webhook-output value, --wo value             post xray result to url in json format

扫描插件

  • --plugins: 指定要运行的插件,使用,分隔
--plugins xss
--plugins xss,sqldet,phantasm
  • --poc:配置本次扫描启用哪些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*"

输入来源

  • --listen: 启动一个被动代理服务器作为输入,如 --listen 127.0.0.1:7777
  • --basic-crawler: 启用一个基础爬虫作为输入, 如 --basic-crawler http://example.com
  • --url-file: 批量从文件中读取URL
  • --url: 用于快速测试单个URL,不带爬虫,默认为GET请求
  • --data:指定 data,同时变为POST请求
  • --raw-request: 加载一个原始的 HTTP 请求并用于扫描,类似于sqlmap -r

输出格式

  • --json-output: 将结果输出到一个 json 文件中,输出是JSON格式的结构化数据
  • --html-output: 将结果输出为 html 报告
  • --webhook-output: 将结果发送到一个地址,输出是JSON格式的结构化数据,需要自己搭建一个Web服务器,接收到xray发送的漏洞信息

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

组合使用

将上面说的一些结合起来使用,就可以满足多种场景下的使用需求了:

# 使用xss模块 启用1111端口的代理服务器进行web漏洞扫描,输出漏洞报告到1.html中
➜ ./xray webscan --plugins xss --listen 127.0.0.1:1111 --html-output 1.html

# 将日志级别设置为debug 然后使用xss和命令执行插件 使用内置的爬虫来扫描,输出漏洞报告到1.json中
➜ ./xray --log_level debug webscan --plugins xss,cmd_injection --basic-crawler http://example.com --json-output 1.json

# 对目标资产进行POST方式漏洞检测,data为 x=y 并输出漏洞报告到1.json中
➜ ./xray webscan --url http://example.com --data "x=y" --html-output 2.html --json-output 1.json

# 对目标资产进行单个URL检测,报告输出到指定的接受服务器中
➜ ./xray webscan --url http://example.com/ --webhook-output http://host:port/path

配置文件

引擎初次运行时,会在当前目录内生成一个 config.yaml 文件。通过调整配置中的各种参数,可以满足不同场景下的需求。

在 xray 快速迭代时期,不保证配置文件向后兼容。如果出错,可以备份配置文件并重新生成。 实际上建议每次更新版本后都备份配置文件后删除并重新生成,以免错过新功能的配置。

并发配置

在配置文件中可以用下面的配置改变漏洞探测的 worker 数量:

parallel: 30                      # 漏洞探测的 worker 数量,可以简单理解为同时有 30 个 POC 在运行

但这个值并非越大越好,高并发意味着同一时间发包数量大幅增加,这可能会影响远程 server 的运行和xray对漏洞的判断,需要按需设置。一般默认的30即可。

HTTP 配置

对于 web 扫描来说,http 协议的交互是整个过程检测过程的核心。因此这里的配置将影响到引擎进行 http 发包时的行为。

http:
  proxy: ""                             # 漏洞扫描时使用的代理,如: http://127.0.0.1:8080。 如需设置多个代理,请使用 proxy_rule 或自行创建上层代理
  proxy_rule: []                        # 漏洞扫描使用多个代理的配置规则, 具体请参照文档
  dial_timeout: 5                       # 建立 tcp 连接的超时时间
  read_timeout: 10                      # 读取 http 响应的超时时间,不可太小,否则会影响到 sql 时间盲注的判断
  max_conns_per_host: 50                # 同一 host 最大允许的连接数,可以根据目标主机性能适当增大
  enable_http2: false                   # 是否启用 http2, 开启可以提升部分网站的速度,但目前不稳定有崩溃的风险
  fail_retries: 0                       # 请求失败的重试次数,0 则不重试
  max_redirect: 5                       # 单个请求最大允许的跳转数
  max_resp_body_size: 2097152           # 最大允许的响应大小, 默认 2M
  max_qps: 500                          # 每秒最大请求数
  allow_methods:                        # 允许的请求方法
  - HEAD
  - GET
  - POST
  - PUT
  - PATCH
  - DELETE
  - OPTIONS
  - CONNECT
  - TRACE
  - MOVE
  - PROPFIND
  headers:
    User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0
    # Cookie: key=value

扫描所用的代理

配置该项后漏洞扫描发送请求时将使用代理发送(可用于扫内网?),支持 http, httpssocks5 三种格式,如:

http://127.0.0.1:1111
https://127.0.0.1:1111
socks5://127.0.0.1:1080

如果代理需要认证,可以使用下面的格式 http://user:password@127.0.0.1:1111

多代理设置

在漏洞扫描的时候,可能想不同的域名使用不同的代理,设置多个代理切换等,可以通过 proxy_rule 字段来配置。需要注意的是,proxy 配置将优先于本配置。

proxy_rule:
  - match: "*host1"
    servers:
      - addr: "http://127.0.0.1:8001"
        weight: 1
      - addr: "http://127.0.0.1:8002"
        weight: 2
  - match: "*"
    servers:
      - addr: "http://127.0.0.1:8003"
        weight: 1
      - addr: "http://127.0.0.1:8004"
        weight: 5
  • match: 请求的 url 的主机名如果匹配,就使用本条规则。
  • 如果是 *,则代表可以匹配所有。所以一定要将 * 放在最后面,上面没有匹配到的域名都将使用这个配置。
  • 如果没有任何一条可以匹配,这个请求将不会使用代理。
  • addr: 代理服务器的地址,同 proxy 的配置。
  • weight: 代理服务器的权重,如果 servers 中配置了多个代理服务器,设置权重可以均衡负载,比如权重是 3:7,则代表每 10 个请求,有 3 个选择 server1,有 7 个选择 server2。要注意的是,这里是 round bin 算法,前 3 个一定发往 server1,后面 7 个一定发往 server2,然后继续循环,不是每个请求都是基于权重随机的。
  • match: 请求的 url 的主机名如果匹配,就使用本条规则。
  • 如果是 *,则代表可以匹配所有。所以一定要将 * 放在最后面,上面没有匹配到的域名都将使用这个配置。
  • 如果没有任何一条可以匹配,这个请求将不会使用代理。
  • addr: 代理服务器的地址,同 proxy 的配置。
  • weight: 代理服务器的权重,如果 servers 中配置了多个代理服务器,设置权重可以均衡负载,比如权重是 3:7,则代表每 10 个请求,有 3 个选择 server1,有 7 个选择 server2。要注意的是,这里是 round bin 算法,前 3 个一定发往 server1,后面 7 个一定发往 server2,然后继续循环,不是每个请求都是基于权重随机的。

限制发包速度

默认值 500, 因为最大允许每秒发送 500 个请求。一般来说这个值够快了,通常是为了避免被ban,会把该值改的小一些,极限情况支持设置为 1, 表示每秒只能发送一个请求。

插件配置

这一部分的每个配置项的 key 是插件名称,value 是与该插件相关的配置。 每个部分的结构大致如下

pluginName:
    enabled: true/false
    otherConfigrations: xxxCopyErrorCopied

enabled 即为是否启用插件, 其它的配置如果有,则是当前插件的一些特殊配置。

dirscan

  • depth 深度限制
  • dictionary 配置目录字典, 需要是绝对路径, 配置后将与内置字典合并

sqldet

  • error_based_detection 启用报错注入检测
  • boolean_based_detection 启用布尔盲注检测
  • time_based_detection 启用时间盲注检测

下面两个选项很危险,开启之后可以增加检测率,但是有破坏数据库数据的可能性,请务必了解工作原理之后再开启

  • dangerously_use_comment_in_sql 允许检查注入的时候使用注释
  • dangerously_use_or_in_sql 允许检查注入的时候使用 or

phantasm

phantasm 是 xray 的 poc 框架,在其下运行着许多 yaml 和 go 写的 poc,用户可以通过该模块编写自己的 poc 并让 xray 加载:

depth: 1                            # 与 dirscan 一样,不再赘述
exclude_poc: []                     # 排除哪些 poc, 支持 glob 语法, 如: /home/poc/*thinkphp* 或 poc-yaml-weblogic*
local_poc: []                       # 加载本地的 poc, 支持 glob 语法, 如: /home/poc/*

exclude_poc 用于去除加载哪些 poc。一个常见的 case 是如果发现某些 poc 误报比较多,想暂时禁用掉(并反馈给 xray),那么就可以在这一个配置中加上 poc 的名字,比如:

plugins:
  ...
  phantasm:
    enabled: true
    exclude_poc:
    - poc-yaml-bad-poc
    - *bad-poc*

local_poc 是用于加载本地的 poc 的配置,最好指定绝对路径,且同样支持 glob 语法。

一个稍微复杂的情况是将这两个搭配起来使用,比如:

plugins:
  ...
  phantasm:
    enabled: true
    exclude_poc:
    - /home/poc/poc-fake-good-poc
    local_poc:
    - /home/poc/*good-poc*

上述配置的意思是加载 /home/poc/ 目录下所有符合 *good-poc* 这个pattern 的poc,同时去掉同样目录下的 poc-fake-good-poc

被动代理配置

这一部分主要介绍配置项中 mitm 部分相关的内容。

抓取HTTPS流量

对应于 ca_certca_key 两项配置。

和 burp 类似,抓取 https 流量需要信任一个根证书,这个根证书可以自行生成,也可用下列自带的命令生成:

 ./xray genca

运行后将在当前目录生成 ca.keyca.crt, 用户手动导入证书即可,类似于BP导入证书那样。

Firefox需要单独在浏览器导入。移动端可以挂代理之后访问 http://xray/ 下载根证书

代理启用密码保护

对应于 auth 中的配置。

xray 支持给代理配置基础认证的密码,当设置好 auth 中的 usernamepassword 后,使用代理时浏览器会弹框要求输出用户名密码,输入成功后代理才可正常使用。

设置代理的IP白名单

配置中的 allow_ip_range 项可以限制哪些 IP 可以使用该代理。支持单个 IP 和 CIDR 格式的地址,如:

allow_ip_range: ["127.0.0.1","192.168.1.1/24"]

留空则允许所有地址访问,如果来源 IP 没有在配置的地址内,使用者则会报Proxy Failed的错误。

限制漏洞扫描的范围

配置中的 restriction 项可以限制哪些域名、端口、路径、请求参数等等参数可以使用该代理,以域名为例:

  • hostname_allowed表示只扫描哪些域和路径。如 *.example.com表示只扫描example.com的子域
  • hostname_disallowed表示不扫描哪些域和路径。比如 t.example.com 表示不扫描 t.example.com

队列长度配置

queue:
    max_length: 10000

经典的生产者消费者问题,如果生产消费速度不匹配,就需要一个中间的队列来临时存储,这个队列的大小就是 max_length。如果 max_length 设置的过大,会造成 xray 内存占用过大,甚至可能会造成内存不足 OOM 进程崩溃。

代理请求头配置

proxy_header:
    via: "" # 如果不为空,proxy 将添加类似 Via: 1.1 $some-value-$random 的 http 头
    x_forwarded: false # 是否添加 X-Forwarded-{For,Host,Proto,Url} 四个 http 头

如果开启 proxy_header,代理会添加 via 头和 X-Forwarded-* 系列头。如果在请求中就已经存在了同名的 HTTP 头,那么将会追加在后面。

比如 curl http://127.0.0.1:1234 -H "Via: test" -H "X-Forwarded-For: 1.2.3.4" -v,后端实际收到的请求将会是

GET / HTTP/1.1
Host: 127.0.0.1:1234
User-Agent: curl/7.54.0
Accept: */*
Via: test, 1.1 xray-1fe7f9e5241b2b150f32
X-Forwarded-For: 1.2.3.4, 127.0.0.1
X-Forwarded-Host: 127.0.0.1:1234
X-Forwarded-Proto: http
X-Forwarded-Url: http://127.0.0.1:1234/
Accept-Encoding: gzip

代理的代理

假如启动 xray 时配置的 listen 为 127.0.0.1:1111upstream_proxyhttp://127.0.0.1:8080, 那么浏览器设置代理为 http://127.0.0.1:1111,整体数据流如下:

img

该配置仅影响代理本身,不会影响插件在漏洞探测时的发包行为

基础爬虫配置

基础爬虫的配置项对应于 basic-crawler 部分,默认的配置如下,用法参照文件中的注释

basic-crawler:
  max_depth: 0                          # 最大爬取深度, 0 为无限制
  max_count_of_links: 0                 # 本次爬取收集的最大链接数, 0 为无限制
  allow_visit_parent_path: false        # 是否允许爬取父目录, 如果扫描目标为 t.com/a/且该项为 false, 那么就不会爬取 t.com/ 这级的内容
  restriction:                          # 爬虫的允许爬取的资源限制, 为空表示不限制。爬虫会自动添加扫描目标到 Hostname_allowed。
    hostname_allowed: []                # 允许访问的 Hostname,支持格式如 t.com、*.t.com、1.1.1.1、1.1.1.1/24、1.1-4.1.1-8
    hostname_disallowed:                # 不允许访问的 Hostname,支持格式如 t.com、*.t.com、1.1.1.1、1.1.1.1/24、1.1-4.1.1-8
    - '*google*'

子域名配置

高级版功能,看国光师傅的博客说并不好用

反连平台

反连平台常用于解决没有回显的漏洞探测的情况,最常见的应该属于 ssrf 和 存储型xss。渗透测试人员常用的 xss 平台就是反连平台。 这里的配置比较复杂,具体可翻阅官方文档的这部分:反连平台;如果以后用到了再作说明。

xray 进阶

xray 与 Burpsuite 联动

首先 xray 建立起 webscan 的监听

 .\xray webscan --listen 127.0.0.1:7777 --html-output bp.html

进入 Burp 后,打开 User options 标签页,然后找到 Upstream Proxy Servers 设置。

点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。

image-20220610155035215

BP的socks代理与顶级代理服务器有冲突,不能同时勾选

接下来 BP 正常抓包,与此同时 BP 也会将我们截取到的一些流量包发到 xray 中进行漏洞检测。

xray与crawlergo联动

crawlergo是一个使用chrome headless模式进行URL收集的浏览器爬虫。可以收集一个域名下的动态链接,并且有很快的速度,所以使用crawlergo进行爬虫+xray进行漏扫可以实现对网站漏洞全自动扫描的效果。

教程:xray与crawlergo联动实现全自动挖洞

参考资料

xray Web 扫描器学习记录

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇