告别默认配置!Xray自定义POC开发指南

文章涉及操作均为测试环境,未授权时切勿对真实业务系统进行测试!

下载与解压

官网地址
Xray GitHub Releases

根据系统选择对应版本:

Windows:xray_windows_amd64.exe.zip
Linux:xray_linux_amd64.zip
macOS:xray_darwin_amd64.zip

解压后得到可执行文件(如 xray_linux_amd64).

生成CA证书(HTTPS扫描必备)

./xray genca

生成 ca.crtca.key,需导入浏览器信任(以Firefox为例):

浏览器设置 → 隐私与安全 → 证书 → 导入 ca.crt → 勾选“信任此CA”.


代理模式(被动扫描)

xray.exe webscan --listen 127.0.0.1:7777 --html-output result.html

浏览器设置代理(如Chrome使用SwitchyOmega插件):

代理地址:127.0.0.1:7777

手动浏览目标站点,Xray自动分析流量并检测漏洞.

可以配置只扫描某个域名,以防止对其他域名扫描

添加自定义POC扫描

xray.exe webscan --list查看全部

默认启动是 819 个 poc

修改 config.yaml 文件配置,自动包含自定义 poc,自定义 poc 必须以“poc-”为命名前缀

自定义 poc 放到 xray 根目录即可

自定义添加了 1 个 poc,加载时变为 820 个

测试 poc

POC 编写

name: poc-yaml-robots
transport: http
rules:
    r1:
        request:
            method: GET
            path: /robots.txt
        expression: response.status == 200
expression: r1()
detail:
    author: name
    links:
        - http://example.com

name:脚本名称

transport: http 该字段用指定协议发送,协议可以是 tcp、udp、http

rules 标识一个规则集

r1 是规则名称

request 里面是请求相关信息,包括请求方法、路径、请求头、请求体

cache 是否使用缓存,true 标识对相同目标再次发送请求会使用缓存

method 为请求方法

path:如果是以/开头,则直接拼接到 dir 路径,例如目标是 http://example.com/dir/a,path:“/b”,那么请求 url 会变成 http://example.com/dir/b

如果是以 ^ 开头,uri 直接取该路径,如果 path: “^{
{inputPath}}/b”,那么请求 url 变为 http://example.com/dir/a/b,{
{inputPath}}就是/dir/a。

测试编写的 poc 效果

编辑 xray 配置文件配置代理到 burp 监听的地址 127.0.0.1:8080

方便测试用 python 起个服务,建个 robots 文件

更多配置详见_Xray官方文档.

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容