@@ -12,61 +12,7 @@ xray 支持所有CEL文档中的类型,同时还注入了几种特殊的类型
12
12
13
13
其中注入的 request 和 response 类型是随着 ` transport ` 对应的值进行改变的。
14
14
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请求响应
70
16
71
17
其中 request 包含的字段如下:
72
18
@@ -81,7 +27,7 @@ response 包含的字段如下:
81
27
| ` response.conn ` | ` connInfoType ` | 连接相关信息 | xray ≥ 1.8.4 |
82
28
| ` response.raw ` | ` []byte ` | 原始响应 | xray ≥ 1.8.4 |
83
29
84
- ### udp request and response
30
+ ### UDP请求响应
85
31
86
32
其中 request 包含的字段如下:
87
33
@@ -96,7 +42,7 @@ response 包含的字段如下:
96
42
| ` response.conn ` | ` connInfoType ` | 连接相关信息 | xray ≥ 1.8.4 |
97
43
| ` response.raw ` | ` []byte ` | 原始响应 | xray ≥ 1.8.4 |
98
44
99
- ### http request and response
45
+ ### HTTP请求响应
100
46
101
47
其中 request 包含的字段如下:
102
48
@@ -125,6 +71,77 @@ response 包含的字段如下:
125
71
| ` response.latency ` | ` int ` | 响应的延迟时间,可以用于 sql 时间盲注的判断,单位毫秒 (ms) | xray ≥ 1.8.4 |
126
72
| ` response.title ` | ` []byte ` | 返回包的Title,因为是一个字节流(bytes)而非字符串,后面判断的时候需要使用字节流相关的方法 | xray ≥ 1.8.5 |
127
73
| ` 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 |
128
145
129
146
## 函数
130
147
0 commit comments