Skip to content

Commit 77552cd

Browse files
author
Jarcis-cy
committed
[add] 添加证书相关信息
1 parent fb26a03 commit 77552cd

File tree

1 file changed

+74
-57
lines changed

1 file changed

+74
-57
lines changed

guide/yaml/yaml_type_func.md

Lines changed: 74 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -12,61 +12,7 @@ xray 支持所有CEL文档中的类型,同时还注入了几种特殊的类型
1212

1313
其中注入的 request 和 response 类型是随着 `transport` 对应的值进行改变的。
1414

15-
### 基本类型
16-
17-
#### addrType
18-
19-
addrType 类型包含字段如下, 设变量名为 `addr`
20-
21-
| 变量名 | 类型 | 说明 | 适用版本 |
22-
|------------------|----------|-----------------------------------------------------------|--------------|
23-
| `addr.transport` | `string` | tranport | xray ≥ 1.8.4 |
24-
| `addr.addr` | `string` | 目的地址, 获取失败时返回空字符串,形如: `192.0.2.1:25`, `[2001:2001::1]:80` | xray ≥ 1.8.4 |
25-
| `addr.port` | `string` | 端口号, 获取失败时返回 `""` | xray ≥ 1.8.4 |
26-
27-
#### connInfoType
28-
29-
connInfoType 类型包含字段如下, 设变量名为 `conn`
30-
31-
| 变量名 | 类型 | 说明 | 适用版本 |
32-
|--------------------|------------|--------|--------------|
33-
| `conn.source` | `addrType` | 源地址信息 | xray ≥ 1.8.4 |
34-
| `conn.destination` | `addrType` | 目的地址信息 | xray ≥ 1.8.4 |
35-
36-
#### urlType
37-
38-
urlType 类型包含的字段如下, 设变量名为 `url`, 以 `http://example.com:8080/a?c=d#x=y` 为例:
39-
40-
| 变量名 | 类型 | 说明 | 适用版本 |
41-
|----------------|----------|------------------------------------|--------------|
42-
| `url.scheme` | `string` | url 的 scheme, 示例为 `"http"` | xray ≥ 1.8.4 |
43-
| `url.domain` | `string` | url 的域名,示例例为 `"example.com"` | xray ≥ 1.8.4 |
44-
| `url.host` | `string` | url 的主机名,示例为 `"example.com:8080"` | xray ≥ 1.8.4 |
45-
| `url.port` | `string` | url 的 port,注意这里也是字符串。 示例为 `"8080"` | xray ≥ 1.8.4 |
46-
| `url.path` | `string` | url 的 path, 示例为 `"/a"` | xray ≥ 1.8.4 |
47-
| `url.query` | `string` | url 的 query, 示例为 `"c=d"` | xray ≥ 1.8.4 |
48-
| `url.fragment` | `string` | url 的锚点,示例为 `"x=y"` | xray ≥ 1.8.4 |
49-
50-
#### reverseType
51-
52-
reverseType 类型包含字段如下, 设变量名为 `reverse`(需要先使用 `newReverse()` 生成实例)
53-
54-
| 变量名 | 类型 | 说明 | 适用版本 |
55-
|---------------------------------|---------------------------|-------------------------------|--------------|
56-
| `reverse.url` | `urlType` | 反连平台的 url | xray ≥ 1.8.4 |
57-
| `reverse.domain` | `string` | 反连平台的域名 | xray ≥ 1.8.4 |
58-
| `reverse.rmi` | `urlType` | 反连平台的rmi协议url | xray ≥ 1.9.4 |
59-
| `reverse.ip` | `string` | 反连平台的 ip 地址 | xray ≥ 1.8.4 |
60-
| `reverse.is_domain_name_server` | `bool` | 反连平台的 domain 是否同时是 nameserver | xray ≥ 1.8.4 |
61-
| `reverse.wait(timeout)` | `func (timeout int) bool` | 等待 timeout 秒,并返回是否在改时间内获得了信息 | xray ≥ 1.8.4 |
62-
63-
> 参数详情介绍:[🔎详情](guide/poc/exampleType/reverse.md)
64-
65-
#### Timestamp
66-
67-
Timestamp 类型实际是google.protobuf.Timestamp类型,为cel表达式本身自带的类型,其本身包含了非常多的方法,详情可查看:[Timestamp](guide/poc/exampleType/timestamp.md)
68-
69-
### tcp request and response
15+
### TCP请求响应
7016

7117
其中 request 包含的字段如下:
7218

@@ -81,7 +27,7 @@ response 包含的字段如下:
8127
| `response.conn` | `connInfoType` | 连接相关信息 | xray ≥ 1.8.4 |
8228
| `response.raw` | `[]byte` | 原始响应 | xray ≥ 1.8.4 |
8329

84-
### udp request and response
30+
### UDP请求响应
8531

8632
其中 request 包含的字段如下:
8733

@@ -96,7 +42,7 @@ response 包含的字段如下:
9642
| `response.conn` | `connInfoType` | 连接相关信息 | xray ≥ 1.8.4 |
9743
| `response.raw` | `[]byte` | 原始响应 | xray ≥ 1.8.4 |
9844

99-
### http request and response
45+
### HTTP请求响应
10046

10147
其中 request 包含的字段如下:
10248

@@ -125,6 +71,77 @@ response 包含的字段如下:
12571
| `response.latency` | `int` | 响应的延迟时间,可以用于 sql 时间盲注的判断,单位毫秒 (ms) | xray ≥ 1.8.4 |
12672
| `response.title` | `[]byte` | 返回包的Title,因为是一个字节流(bytes)而非字符串,后面判断的时候需要使用字节流相关的方法 | xray ≥ 1.8.5 |
12773
| `response.title_string` | `string` | 返回包的Title,是一个字符串 | xray ≥ 1.8.5 |
74+
| `response.cert` | `CERTType` | 自定义类型CERTType, 请查看下方 CERTType 的说明 | xpoc ≥ 0.0.8 |
75+
| `response.raw_cert` | `[]byte` | 返回包的证书的原始部分,是一个字节流(bytes) | xpoc ≥ 0.0.8 |
76+
| `response.icon_url` | `string` | 返回包中尝试提取的icon的地址,是一个字符串 | xpoc ≥ 0.0.8 |
77+
78+
79+
### 基本类型
80+
81+
#### addrType
82+
83+
addrType 类型包含字段如下, 设变量名为 `addr`
84+
85+
| 变量名 | 类型 | 说明 | 适用版本 |
86+
|------------------|----------|-----------------------------------------------------------|--------------|
87+
| `addr.transport` | `string` | tranport | xray ≥ 1.8.4 |
88+
| `addr.addr` | `string` | 目的地址, 获取失败时返回空字符串,形如: `192.0.2.1:25`, `[2001:2001::1]:80` | xray ≥ 1.8.4 |
89+
| `addr.port` | `string` | 端口号, 获取失败时返回 `""` | xray ≥ 1.8.4 |
90+
91+
#### connInfoType
92+
93+
connInfoType 类型包含字段如下, 设变量名为 `conn`
94+
95+
| 变量名 | 类型 | 说明 | 适用版本 |
96+
|--------------------|------------|--------|--------------|
97+
| `conn.source` | `addrType` | 源地址信息 | xray ≥ 1.8.4 |
98+
| `conn.destination` | `addrType` | 目的地址信息 | xray ≥ 1.8.4 |
99+
100+
#### urlType
101+
102+
urlType 类型包含的字段如下, 设变量名为 `url`, 以 `http://example.com:8080/a?c=d#x=y` 为例:
103+
104+
| 变量名 | 类型 | 说明 | 适用版本 |
105+
|----------------|----------|------------------------------------|--------------|
106+
| `url.scheme` | `string` | url 的 scheme, 示例为 `"http"` | xray ≥ 1.8.4 |
107+
| `url.domain` | `string` | url 的域名,示例例为 `"example.com"` | xray ≥ 1.8.4 |
108+
| `url.host` | `string` | url 的主机名,示例为 `"example.com:8080"` | xray ≥ 1.8.4 |
109+
| `url.port` | `string` | url 的 port,注意这里也是字符串。 示例为 `"8080"` | xray ≥ 1.8.4 |
110+
| `url.path` | `string` | url 的 path, 示例为 `"/a"` | xray ≥ 1.8.4 |
111+
| `url.query` | `string` | url 的 query, 示例为 `"c=d"` | xray ≥ 1.8.4 |
112+
| `url.fragment` | `string` | url 的锚点,示例为 `"x=y"` | xray ≥ 1.8.4 |
113+
114+
#### reverseType
115+
116+
reverseType 类型包含字段如下, 设变量名为 `reverse`(需要先使用 `newReverse()` 生成实例)
117+
118+
| 变量名 | 类型 | 说明 | 适用版本 |
119+
|---------------------------------|---------------------------|-------------------------------|--------------|
120+
| `reverse.url` | `urlType` | 反连平台的 url | xray ≥ 1.8.4 |
121+
| `reverse.domain` | `string` | 反连平台的域名 | xray ≥ 1.8.4 |
122+
| `reverse.rmi` | `urlType` | 反连平台的rmi协议url | xray ≥ 1.9.4 |
123+
| `reverse.ip` | `string` | 反连平台的 ip 地址 | xray ≥ 1.8.4 |
124+
| `reverse.is_domain_name_server` | `bool` | 反连平台的 domain 是否同时是 nameserver | xray ≥ 1.8.4 |
125+
| `reverse.wait(timeout)` | `func (timeout int) bool` | 等待 timeout 秒,并返回是否在改时间内获得了信息 | xray ≥ 1.8.4 |
126+
127+
> 参数详情介绍:[🔎详情](guide/poc/exampleType/reverse.md)
128+
129+
#### Timestamp
130+
131+
Timestamp 类型实际是google.protobuf.Timestamp类型,为cel表达式本身自带的类型,其本身包含了非常多的方法,详情可查看:[Timestamp](guide/poc/exampleType/timestamp.md)
132+
133+
#### CERTType
134+
135+
CERTType 类型包含的字段如下, 设变量名为 `cert`,以`https://docs.xray.cool`的证书举例:
136+
137+
| 变量名 | 类型 | 说明 | 适用版本 |
138+
|----------------------|-------------|--------------------------------------------------------------------------------------------------|--------------|
139+
| `cert.issuer` | `string` | 证书的颁发机构。用来标识颁发证书的实体或组织。示例:`CN=R3,O=Let's Encrypt,C=US` | xpoc ≥ 0.0.8 |
140+
| `cert.subject` | `string` | 证书的主题,也就是证书持有者的身份信息。示例:`CN=xray.cool` | xpoc ≥ 0.0.8 |
141+
| `cert.dnsnames` | `string` | 证书相关联的 DNS 名称,用于识别证书可以用于验证的服务器或域名。示例:`docs.xray.cool,download.xray.cool,poc.xray.cool,xray.cool` | xpoc ≥ 0.0.8 |
142+
| `cert.not_after` | `Timestamp` | 证书的过期时间,用于指定证书有效期的结束日期和时间。示例:`2024-03-25 03:05:36 +0000 UTC`,此处的示例显示的是时间戳在被当成字符串输出时展示的内容 | xpoc ≥ 0.0.8 |
143+
| `cert.not_before` | `Timestamp` | 证书的生效时间,用于指定证书有效期的开始日期和时间。示例:`2023-12-26 03:05:37 +0000 UTC`,同上 | xpoc ≥ 0.0.8 |
144+
| `cert.serial_number` | `string` | 证书的序列号,用于唯一标识一个证书。示例:`342932071325336127920295100216553911823483` | xpoc ≥ 0.0.8 |
128145

129146
## 函数
130147

0 commit comments

Comments
 (0)