@abtnode/router-provider 1.16.46-beta-20250703-024219-4029ee97 → 1.16.46-beta-20250704-234926-09d872ad
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/nginx/includes/security/crs4/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf +1 -1
- package/lib/nginx/includes/security/crs4/rules/REQUEST-901-INITIALIZATION.conf +42 -40
- package/lib/nginx/includes/security/crs4/rules/REQUEST-905-COMMON-EXCEPTIONS.conf +4 -4
- package/lib/nginx/includes/security/crs4/rules/REQUEST-911-METHOD-ENFORCEMENT.conf +12 -11
- package/lib/nginx/includes/security/crs4/rules/REQUEST-913-SCANNER-DETECTION.conf +12 -11
- package/lib/nginx/includes/security/crs4/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf +127 -148
- package/lib/nginx/includes/security/crs4/rules/REQUEST-921-PROTOCOL-ATTACK.conf +80 -35
- package/lib/nginx/includes/security/crs4/rules/REQUEST-922-MULTIPART-ATTACK.conf +12 -6
- package/lib/nginx/includes/security/crs4/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf +22 -17
- package/lib/nginx/includes/security/crs4/rules/REQUEST-931-APPLICATION-ATTACK-RFI.conf +20 -15
- package/lib/nginx/includes/security/crs4/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf +254 -86
- package/lib/nginx/includes/security/crs4/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf +172 -65
- package/lib/nginx/includes/security/crs4/rules/REQUEST-934-APPLICATION-ATTACK-GENERIC.conf +65 -29
- package/lib/nginx/includes/security/crs4/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf +114 -78
- package/lib/nginx/includes/security/crs4/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf +182 -120
- package/lib/nginx/includes/security/crs4/rules/REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION.conf +19 -16
- package/lib/nginx/includes/security/crs4/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf +48 -34
- package/lib/nginx/includes/security/crs4/rules/REQUEST-949-BLOCKING-EVALUATION.conf +30 -30
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-950-DATA-LEAKAGES.conf +20 -15
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-951-DATA-LEAKAGES-SQL.conf +47 -29
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-952-DATA-LEAKAGES-JAVA.conf +15 -36
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-953-DATA-LEAKAGES-PHP.conf +20 -15
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-954-DATA-LEAKAGES-IIS.conf +22 -17
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-955-WEB-SHELLS.conf +92 -43
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-959-BLOCKING-EVALUATION.conf +30 -30
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-980-CORRELATION.conf +23 -23
- package/lib/nginx/includes/security/crs4/rules/java-classes.data +11 -0
- package/lib/nginx/includes/security/crs4/rules/lfi-os-files.data +227 -15
- package/lib/nginx/includes/security/crs4/rules/php-function-names-933150.data +0 -7
- package/lib/nginx/includes/security/crs4/rules/restricted-files.data +250 -29
- package/lib/nginx/includes/security/crs4/rules/restricted-upload.data +200 -26
- package/lib/nginx/includes/security/crs4/rules/unix-shell-builtins.data +20 -0
- package/lib/nginx/includes/security/crs4/rules/unix-shell.data +39 -18
- package/lib/nginx/includes/security/crs4/rules/web-shells-asp.data +23 -0
- package/package.json +9 -9
|
@@ -278,7 +278,7 @@ SecRule REQUEST_FILENAME "@contains /.well-known/service/connect" \
|
|
|
278
278
|
"ctl:ruleRemoveById=930120"
|
|
279
279
|
|
|
280
280
|
# Fix: dockerfile assets from discuss-kit false positive
|
|
281
|
-
SecRule REQUEST_FILENAME "@rx
|
|
281
|
+
SecRule REQUEST_FILENAME "@rx /dockerfile-[A-Za-z0-9-_]{8}\.js$" \
|
|
282
282
|
"id:1013,\
|
|
283
283
|
phase:1,\
|
|
284
284
|
pass,\
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ------------------------------------------------------------------------
|
|
2
|
-
# OWASP CRS ver.4.
|
|
2
|
+
# OWASP CRS ver.4.16.0
|
|
3
3
|
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
-
# Copyright (c) 2021-
|
|
4
|
+
# Copyright (c) 2021-2025 CRS project. All rights reserved.
|
|
5
5
|
#
|
|
6
6
|
# The OWASP CRS is distributed under
|
|
7
7
|
# Apache Software License (ASL) version 2
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
#
|
|
27
27
|
# Ref: https://github.com/owasp-modsecurity/ModSecurity/wiki/Reference-Manual-(v2.x)#seccomponentsignature
|
|
28
28
|
#
|
|
29
|
-
SecComponentSignature "OWASP_CRS/4.
|
|
29
|
+
SecComponentSignature "OWASP_CRS/4.16.0"
|
|
30
30
|
|
|
31
31
|
#
|
|
32
32
|
# -=[ Default setup values ]=-
|
|
@@ -60,7 +60,7 @@ SecRule &TX:crs_setup_version "@eq 0" \
|
|
|
60
60
|
auditlog,\
|
|
61
61
|
msg:'CRS is deployed without configuration! Please copy the crs-setup.conf.example template to crs-setup.conf, and include the crs-setup.conf file in your webserver configuration before including the CRS rules. See the INSTALL file in the CRS directory for detailed instructions',\
|
|
62
62
|
tag:'OWASP_CRS',\
|
|
63
|
-
ver:'OWASP_CRS/4.
|
|
63
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
64
64
|
severity:'CRITICAL'"
|
|
65
65
|
|
|
66
66
|
|
|
@@ -79,7 +79,7 @@ SecRule &TX:inbound_anomaly_score_threshold "@eq 0" \
|
|
|
79
79
|
pass,\
|
|
80
80
|
nolog,\
|
|
81
81
|
tag:'OWASP_CRS',\
|
|
82
|
-
ver:'OWASP_CRS/4.
|
|
82
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
83
83
|
setvar:'tx.inbound_anomaly_score_threshold=5'"
|
|
84
84
|
|
|
85
85
|
# Default Outbound Anomaly Threshold Level (rule 900110 in crs-setup.conf)
|
|
@@ -89,7 +89,7 @@ SecRule &TX:outbound_anomaly_score_threshold "@eq 0" \
|
|
|
89
89
|
pass,\
|
|
90
90
|
nolog,\
|
|
91
91
|
tag:'OWASP_CRS',\
|
|
92
|
-
ver:'OWASP_CRS/4.
|
|
92
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
93
93
|
setvar:'tx.outbound_anomaly_score_threshold=4'"
|
|
94
94
|
|
|
95
95
|
# Default Reporting Level (rule 900115 in crs-setup.conf)
|
|
@@ -99,7 +99,7 @@ SecRule &TX:reporting_level "@eq 0" \
|
|
|
99
99
|
pass,\
|
|
100
100
|
nolog,\
|
|
101
101
|
tag:'OWASP_CRS',\
|
|
102
|
-
ver:'OWASP_CRS/4.
|
|
102
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
103
103
|
setvar:'tx.reporting_level=4'"
|
|
104
104
|
|
|
105
105
|
# Default Early Blocking (rule 900120 in crs-setup.conf)
|
|
@@ -109,7 +109,7 @@ SecRule &TX:early_blocking "@eq 0" \
|
|
|
109
109
|
pass,\
|
|
110
110
|
nolog,\
|
|
111
111
|
tag:'OWASP_CRS',\
|
|
112
|
-
ver:'OWASP_CRS/4.
|
|
112
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
113
113
|
setvar:'tx.early_blocking=0'"
|
|
114
114
|
|
|
115
115
|
# Default Blocking Paranoia Level (rule 900000 in crs-setup.conf)
|
|
@@ -119,7 +119,7 @@ SecRule &TX:blocking_paranoia_level "@eq 0" \
|
|
|
119
119
|
pass,\
|
|
120
120
|
nolog,\
|
|
121
121
|
tag:'OWASP_CRS',\
|
|
122
|
-
ver:'OWASP_CRS/4.
|
|
122
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
123
123
|
setvar:'tx.blocking_paranoia_level=1'"
|
|
124
124
|
|
|
125
125
|
# Default Detection Paranoia Level (rule 900001 in crs-setup.conf)
|
|
@@ -129,7 +129,7 @@ SecRule &TX:detection_paranoia_level "@eq 0" \
|
|
|
129
129
|
pass,\
|
|
130
130
|
nolog,\
|
|
131
131
|
tag:'OWASP_CRS',\
|
|
132
|
-
ver:'OWASP_CRS/4.
|
|
132
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
133
133
|
setvar:'tx.detection_paranoia_level=%{TX.blocking_paranoia_level}'"
|
|
134
134
|
|
|
135
135
|
# Default Sampling Percentage (rule 900400 in crs-setup.conf)
|
|
@@ -139,7 +139,7 @@ SecRule &TX:sampling_percentage "@eq 0" \
|
|
|
139
139
|
pass,\
|
|
140
140
|
nolog,\
|
|
141
141
|
tag:'OWASP_CRS',\
|
|
142
|
-
ver:'OWASP_CRS/4.
|
|
142
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
143
143
|
setvar:'tx.sampling_percentage=100'"
|
|
144
144
|
|
|
145
145
|
# Default Anomaly Scores (rule 900100 in crs-setup.conf)
|
|
@@ -149,7 +149,7 @@ SecRule &TX:critical_anomaly_score "@eq 0" \
|
|
|
149
149
|
pass,\
|
|
150
150
|
nolog,\
|
|
151
151
|
tag:'OWASP_CRS',\
|
|
152
|
-
ver:'OWASP_CRS/4.
|
|
152
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
153
153
|
setvar:'tx.critical_anomaly_score=5'"
|
|
154
154
|
|
|
155
155
|
SecRule &TX:error_anomaly_score "@eq 0" \
|
|
@@ -158,7 +158,7 @@ SecRule &TX:error_anomaly_score "@eq 0" \
|
|
|
158
158
|
pass,\
|
|
159
159
|
nolog,\
|
|
160
160
|
tag:'OWASP_CRS',\
|
|
161
|
-
ver:'OWASP_CRS/4.
|
|
161
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
162
162
|
setvar:'tx.error_anomaly_score=4'"
|
|
163
163
|
|
|
164
164
|
SecRule &TX:warning_anomaly_score "@eq 0" \
|
|
@@ -167,7 +167,7 @@ SecRule &TX:warning_anomaly_score "@eq 0" \
|
|
|
167
167
|
pass,\
|
|
168
168
|
nolog,\
|
|
169
169
|
tag:'OWASP_CRS',\
|
|
170
|
-
ver:'OWASP_CRS/4.
|
|
170
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
171
171
|
setvar:'tx.warning_anomaly_score=3'"
|
|
172
172
|
|
|
173
173
|
SecRule &TX:notice_anomaly_score "@eq 0" \
|
|
@@ -176,7 +176,7 @@ SecRule &TX:notice_anomaly_score "@eq 0" \
|
|
|
176
176
|
pass,\
|
|
177
177
|
nolog,\
|
|
178
178
|
tag:'OWASP_CRS',\
|
|
179
|
-
ver:'OWASP_CRS/4.
|
|
179
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
180
180
|
setvar:'tx.notice_anomaly_score=2'"
|
|
181
181
|
|
|
182
182
|
# Default HTTP policy: allowed_methods (rule 900200 in crs-setup.conf)
|
|
@@ -186,7 +186,7 @@ SecRule &TX:allowed_methods "@eq 0" \
|
|
|
186
186
|
pass,\
|
|
187
187
|
nolog,\
|
|
188
188
|
tag:'OWASP_CRS',\
|
|
189
|
-
ver:'OWASP_CRS/4.
|
|
189
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
190
190
|
setvar:'tx.allowed_methods=GET HEAD POST OPTIONS'"
|
|
191
191
|
|
|
192
192
|
# Default HTTP policy: allowed_request_content_type (rule 900220 in crs-setup.conf)
|
|
@@ -196,7 +196,7 @@ SecRule &TX:allowed_request_content_type "@eq 0" \
|
|
|
196
196
|
pass,\
|
|
197
197
|
nolog,\
|
|
198
198
|
tag:'OWASP_CRS',\
|
|
199
|
-
ver:'OWASP_CRS/4.
|
|
199
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
200
200
|
setvar:'tx.allowed_request_content_type=|application/x-www-form-urlencoded| |multipart/form-data| |text/xml| |application/xml| |application/soap+xml| |application/json|'"
|
|
201
201
|
|
|
202
202
|
# Default HTTP policy: allowed_request_content_type_charset (rule 900280 in crs-setup.conf)
|
|
@@ -206,7 +206,7 @@ SecRule &TX:allowed_request_content_type_charset "@eq 0" \
|
|
|
206
206
|
pass,\
|
|
207
207
|
nolog,\
|
|
208
208
|
tag:'OWASP_CRS',\
|
|
209
|
-
ver:'OWASP_CRS/4.
|
|
209
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
210
210
|
setvar:'tx.allowed_request_content_type_charset=|utf-8| |iso-8859-1| |iso-8859-15| |windows-1252|'"
|
|
211
211
|
|
|
212
212
|
# Default HTTP policy: allowed_http_versions (rule 900230 in crs-setup.conf)
|
|
@@ -216,7 +216,7 @@ SecRule &TX:allowed_http_versions "@eq 0" \
|
|
|
216
216
|
pass,\
|
|
217
217
|
nolog,\
|
|
218
218
|
tag:'OWASP_CRS',\
|
|
219
|
-
ver:'OWASP_CRS/4.
|
|
219
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
220
220
|
setvar:'tx.allowed_http_versions=HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/2.0 HTTP/3 HTTP/3.0'"
|
|
221
221
|
|
|
222
222
|
# Default HTTP policy: restricted_extensions (rule 900240 in crs-setup.conf)
|
|
@@ -226,8 +226,8 @@ SecRule &TX:restricted_extensions "@eq 0" \
|
|
|
226
226
|
pass,\
|
|
227
227
|
nolog,\
|
|
228
228
|
tag:'OWASP_CRS',\
|
|
229
|
-
ver:'OWASP_CRS/4.
|
|
230
|
-
setvar:'tx.restricted_extensions=.asa/ .asax/ .ascx/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pem/ .pol/ .printer/ .pwd/ .rdb/ .resources/ .resx/ .sql/ .swp/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/'"
|
|
229
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
230
|
+
setvar:'tx.restricted_extensions=.ani/ .asa/ .asax/ .ascx/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .compositefont/ .config/ .conf/ .crt/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dist/ .dll/ .dos/ .dpkg-dist/ .drv/ .gadget/ .hta/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .inf/ .ini/ .jse/ .key/ .licx/ .lnk/ .log/ .mdb/ .msc/ .ocx/ .old/ .pass/ .pdb/ .pfx/ .pif/ .pem/ .pol/ .prf/ .printer/ .pwd/ .rdb/ .rdp/ .reg/ .resources/ .resx/ .scr/ .sct/ .shs/ .sql/ .swp/ .sys/ .tlb/ .tmp/ .url/ .vb/ .vbe/ .vbs/ .vbproj/ .vsdisco/ .vxd/ .webinfo/ .ws/ .wsc/ .wsf/ .wsh/ .xsd/ .xsx/'"
|
|
231
231
|
|
|
232
232
|
# Default HTTP policy: restricted_headers_basic (rule 900250 in crs-setup.conf)
|
|
233
233
|
SecRule &TX:restricted_headers_basic "@eq 0" \
|
|
@@ -236,8 +236,8 @@ SecRule &TX:restricted_headers_basic "@eq 0" \
|
|
|
236
236
|
pass,\
|
|
237
237
|
nolog,\
|
|
238
238
|
tag:'OWASP_CRS',\
|
|
239
|
-
ver:'OWASP_CRS/4.
|
|
240
|
-
setvar:'tx.restricted_headers_basic=/content-encoding/ /proxy/ /lock-token/ /content-range/ /if/ /x-http-method-override/ /x-http-method/ /x-method-override/'"
|
|
239
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
240
|
+
setvar:'tx.restricted_headers_basic=/content-encoding/ /proxy/ /lock-token/ /content-range/ /if/ /x-http-method-override/ /x-http-method/ /x-method-override/ /x-middleware-subrequest/'"
|
|
241
241
|
|
|
242
242
|
# Default HTTP policy: restricted_headers_extended (rule 900255 in crs-setup.conf)
|
|
243
243
|
SecRule &TX:restricted_headers_extended "@eq 0" \
|
|
@@ -246,7 +246,7 @@ SecRule &TX:restricted_headers_extended "@eq 0" \
|
|
|
246
246
|
pass,\
|
|
247
247
|
nolog,\
|
|
248
248
|
tag:'OWASP_CRS',\
|
|
249
|
-
ver:'OWASP_CRS/4.
|
|
249
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
250
250
|
setvar:'tx.restricted_headers_extended=/accept-charset/'"
|
|
251
251
|
|
|
252
252
|
# Default enforcing of body processor URLENCODED (rule 900010 in crs-setup.conf)
|
|
@@ -256,7 +256,7 @@ SecRule &TX:enforce_bodyproc_urlencoded "@eq 0" \
|
|
|
256
256
|
pass,\
|
|
257
257
|
nolog,\
|
|
258
258
|
tag:'OWASP_CRS',\
|
|
259
|
-
ver:'OWASP_CRS/4.
|
|
259
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
260
260
|
setvar:'tx.enforce_bodyproc_urlencoded=0'"
|
|
261
261
|
|
|
262
262
|
# Default check for UTF8 encoding validation (rule 900950 in crs-setup.conf)
|
|
@@ -266,7 +266,7 @@ SecRule &TX:crs_validate_utf8_encoding "@eq 0" \
|
|
|
266
266
|
pass,\
|
|
267
267
|
nolog,\
|
|
268
268
|
tag:'OWASP_CRS',\
|
|
269
|
-
ver:'OWASP_CRS/4.
|
|
269
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
270
270
|
setvar:'tx.crs_validate_utf8_encoding=0'"
|
|
271
271
|
|
|
272
272
|
# Default check for skipping response analysis (rule 900500 in crs-setup.conf)
|
|
@@ -276,7 +276,7 @@ SecRule &TX:crs_skip_response_analysis "@eq 0" \
|
|
|
276
276
|
pass,\
|
|
277
277
|
nolog,\
|
|
278
278
|
tag:'OWASP_CRS',\
|
|
279
|
-
ver:'OWASP_CRS/4.
|
|
279
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
280
280
|
setvar:'tx.crs_skip_response_analysis=0'"
|
|
281
281
|
|
|
282
282
|
#
|
|
@@ -294,7 +294,7 @@ SecAction \
|
|
|
294
294
|
t:none,\
|
|
295
295
|
nolog,\
|
|
296
296
|
tag:'OWASP_CRS',\
|
|
297
|
-
ver:'OWASP_CRS/4.
|
|
297
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
298
298
|
setvar:'tx.blocking_inbound_anomaly_score=0',\
|
|
299
299
|
setvar:'tx.detection_inbound_anomaly_score=0',\
|
|
300
300
|
setvar:'tx.inbound_anomaly_score_pl1=0',\
|
|
@@ -330,19 +330,21 @@ SecAction \
|
|
|
330
330
|
# The creation of the IP and the GLOBAL collection is not being tested as
|
|
331
331
|
# of this writing due to limits in ftw and our testing setup.
|
|
332
332
|
# Proper testing would involve the checking of a variable in the said collections.
|
|
333
|
-
SecRule TX:ENABLE_DEFAULT_COLLECTIONS "@eq 1" \
|
|
333
|
+
SecRule &TX:ENABLE_DEFAULT_COLLECTIONS "@eq 1" \
|
|
334
334
|
"id:901320,\
|
|
335
335
|
phase:1,\
|
|
336
336
|
pass,\
|
|
337
337
|
nolog,\
|
|
338
338
|
tag:'OWASP_CRS',\
|
|
339
|
-
ver:'OWASP_CRS/4.
|
|
339
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
340
340
|
setvar:'tx.ua_hash=%{REQUEST_HEADERS.User-Agent}',\
|
|
341
341
|
chain"
|
|
342
|
-
SecRule TX:
|
|
343
|
-
"
|
|
344
|
-
|
|
345
|
-
|
|
342
|
+
SecRule TX:ENABLE_DEFAULT_COLLECTIONS "@eq 1" \
|
|
343
|
+
"chain"
|
|
344
|
+
SecRule TX:ua_hash "@unconditionalMatch" \
|
|
345
|
+
"t:none,t:sha1,t:hexEncode,\
|
|
346
|
+
initcol:global=global,\
|
|
347
|
+
initcol:ip=%{remote_addr}_%{MATCHED_VAR}"
|
|
346
348
|
|
|
347
349
|
#
|
|
348
350
|
# -=[ Initialize Correct Body Processing ]=-
|
|
@@ -360,7 +362,7 @@ SecRule REQBODY_PROCESSOR "!@rx (?:URLENCODED|MULTIPART|XML|JSON)" \
|
|
|
360
362
|
msg:'Enabling body inspection',\
|
|
361
363
|
tag:'OWASP_CRS',\
|
|
362
364
|
ctl:forceRequestBodyVariable=On,\
|
|
363
|
-
ver:'OWASP_CRS/4.
|
|
365
|
+
ver:'OWASP_CRS/4.16.0'"
|
|
364
366
|
|
|
365
367
|
# Force body processor URLENCODED
|
|
366
368
|
SecRule TX:enforce_bodyproc_urlencoded "@eq 1" \
|
|
@@ -372,7 +374,7 @@ SecRule TX:enforce_bodyproc_urlencoded "@eq 1" \
|
|
|
372
374
|
noauditlog,\
|
|
373
375
|
msg:'Enabling forced body inspection for ASCII content',\
|
|
374
376
|
tag:'OWASP_CRS',\
|
|
375
|
-
ver:'OWASP_CRS/4.
|
|
377
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
376
378
|
chain"
|
|
377
379
|
SecRule REQBODY_PROCESSOR "!@rx (?:URLENCODED|MULTIPART|XML|JSON)" \
|
|
378
380
|
"ctl:requestBodyProcessor=URLENCODED"
|
|
@@ -412,7 +414,7 @@ SecRule TX:sampling_percentage "@eq 100" \
|
|
|
412
414
|
pass,\
|
|
413
415
|
nolog,\
|
|
414
416
|
tag:'OWASP_CRS',\
|
|
415
|
-
ver:'OWASP_CRS/4.
|
|
417
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
416
418
|
skipAfter:END-SAMPLING"
|
|
417
419
|
|
|
418
420
|
SecRule UNIQUE_ID "@rx ^[a-f]*([0-9])[a-f]*([0-9])" \
|
|
@@ -423,7 +425,7 @@ SecRule UNIQUE_ID "@rx ^[a-f]*([0-9])[a-f]*([0-9])" \
|
|
|
423
425
|
t:sha1,t:hexEncode,\
|
|
424
426
|
nolog,\
|
|
425
427
|
tag:'OWASP_CRS',\
|
|
426
|
-
ver:'OWASP_CRS/4.
|
|
428
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
427
429
|
setvar:'TX.sampling_rnd100=%{TX.1}%{TX.2}'"
|
|
428
430
|
|
|
429
431
|
#
|
|
@@ -448,7 +450,7 @@ SecRule TX:sampling_rnd100 "!@lt %{tx.sampling_percentage}" \
|
|
|
448
450
|
msg:'Sampling: Disable the rule engine based on sampling_percentage %{TX.sampling_percentage} and random number %{TX.sampling_rnd100}',\
|
|
449
451
|
tag:'OWASP_CRS',\
|
|
450
452
|
ctl:ruleRemoveByTag=OWASP_CRS,\
|
|
451
|
-
ver:'OWASP_CRS/4.
|
|
453
|
+
ver:'OWASP_CRS/4.16.0'"
|
|
452
454
|
|
|
453
455
|
SecMarker "END-SAMPLING"
|
|
454
456
|
|
|
@@ -467,4 +469,4 @@ SecRule TX:detection_paranoia_level "@lt %{tx.blocking_paranoia_level}" \
|
|
|
467
469
|
log,\
|
|
468
470
|
msg:'Detection paranoia level configured is lower than the paranoia level itself. This is illegal. Blocking request. Aborting',\
|
|
469
471
|
tag:'OWASP_CRS',\
|
|
470
|
-
ver:'OWASP_CRS/4.
|
|
472
|
+
ver:'OWASP_CRS/4.16.0'"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ------------------------------------------------------------------------
|
|
2
|
-
# OWASP CRS ver.4.
|
|
2
|
+
# OWASP CRS ver.4.16.0
|
|
3
3
|
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
-
# Copyright (c) 2021-
|
|
4
|
+
# Copyright (c) 2021-2025 CRS project. All rights reserved.
|
|
5
5
|
#
|
|
6
6
|
# The OWASP CRS is distributed under
|
|
7
7
|
# Apache Software License (ASL) version 2
|
|
@@ -25,7 +25,7 @@ SecRule REQUEST_LINE "@streq GET /" \
|
|
|
25
25
|
tag:'platform-apache',\
|
|
26
26
|
tag:'attack-generic',\
|
|
27
27
|
tag:'OWASP_CRS',\
|
|
28
|
-
ver:'OWASP_CRS/4.
|
|
28
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
29
29
|
chain"
|
|
30
30
|
SecRule REMOTE_ADDR "@ipMatch 127.0.0.1,::1" \
|
|
31
31
|
"t:none,\
|
|
@@ -46,7 +46,7 @@ SecRule REMOTE_ADDR "@ipMatch 127.0.0.1,::1" \
|
|
|
46
46
|
tag:'platform-apache',\
|
|
47
47
|
tag:'attack-generic',\
|
|
48
48
|
tag:'OWASP_CRS',\
|
|
49
|
-
ver:'OWASP_CRS/4.
|
|
49
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
50
50
|
chain"
|
|
51
51
|
SecRule REQUEST_HEADERS:User-Agent "@endsWith (internal dummy connection)" \
|
|
52
52
|
"t:none,\
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ------------------------------------------------------------------------
|
|
2
|
-
# OWASP CRS ver.4.
|
|
2
|
+
# OWASP CRS ver.4.16.0
|
|
3
3
|
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
-
# Copyright (c) 2021-
|
|
4
|
+
# Copyright (c) 2021-2025 CRS project. All rights reserved.
|
|
5
5
|
#
|
|
6
6
|
# The OWASP CRS is distributed under
|
|
7
7
|
# Apache Software License (ASL) version 2
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:911011,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
18
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:911012,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
17
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:911011,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
18
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:911012,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
19
19
|
#
|
|
20
20
|
# -= Paranoia Level 1 (default) =- (apply only when tx.detection_paranoia_level is sufficiently high: 1 or higher)
|
|
21
21
|
#
|
|
@@ -37,33 +37,34 @@ SecRule REQUEST_METHOD "!@within %{tx.allowed_methods}" \
|
|
|
37
37
|
tag:'attack-generic',\
|
|
38
38
|
tag:'paranoia-level/1',\
|
|
39
39
|
tag:'OWASP_CRS',\
|
|
40
|
+
tag:'OWASP_CRS/METHOD-ENFORCEMENT',\
|
|
40
41
|
tag:'capec/1000/210/272/220/274',\
|
|
41
42
|
tag:'PCI/12.1',\
|
|
42
|
-
ver:'OWASP_CRS/4.
|
|
43
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
43
44
|
severity:'CRITICAL',\
|
|
44
45
|
setvar:'tx.inbound_anomaly_score_pl1=+%{tx.critical_anomaly_score}'"
|
|
45
46
|
|
|
46
47
|
|
|
47
48
|
|
|
48
49
|
|
|
49
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:911013,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
50
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:911014,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
50
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:911013,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
51
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:911014,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
51
52
|
#
|
|
52
53
|
# -= Paranoia Level 2 =- (apply only when tx.detection_paranoia_level is sufficiently high: 2 or higher)
|
|
53
54
|
#
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
|
|
57
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:911015,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
58
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:911016,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
58
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:911015,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
59
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:911016,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
59
60
|
#
|
|
60
61
|
# -= Paranoia Level 3 =- (apply only when tx.detection_paranoia_level is sufficiently high: 3 or higher)
|
|
61
62
|
#
|
|
62
63
|
|
|
63
64
|
|
|
64
65
|
|
|
65
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:911017,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
66
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:911018,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
66
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:911017,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
67
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:911018,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
67
68
|
#
|
|
68
69
|
# -= Paranoia Level 4 =- (apply only when tx.detection_paranoia_level is sufficiently high: 4 or higher)
|
|
69
70
|
#
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ------------------------------------------------------------------------
|
|
2
|
-
# OWASP CRS ver.4.
|
|
2
|
+
# OWASP CRS ver.4.16.0
|
|
3
3
|
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
-
# Copyright (c) 2021-
|
|
4
|
+
# Copyright (c) 2021-2025 CRS project. All rights reserved.
|
|
5
5
|
#
|
|
6
6
|
# The OWASP CRS is distributed under
|
|
7
7
|
# Apache Software License (ASL) version 2
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:913011,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
18
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:913012,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
17
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:913011,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
18
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:913012,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
19
19
|
#
|
|
20
20
|
# -= Paranoia Level 1 (default) =- (apply only when tx.detection_paranoia_level is sufficiently high: 1 or higher)
|
|
21
21
|
#
|
|
@@ -49,31 +49,32 @@ SecRule REQUEST_HEADERS:User-Agent "@pmFromFile scanners-user-agents.data" \
|
|
|
49
49
|
tag:'attack-reputation-scanner',\
|
|
50
50
|
tag:'paranoia-level/1',\
|
|
51
51
|
tag:'OWASP_CRS',\
|
|
52
|
+
tag:'OWASP_CRS/SCANNER-DETECTION',\
|
|
52
53
|
tag:'capec/1000/118/224/541/310',\
|
|
53
54
|
tag:'PCI/6.5.10',\
|
|
54
|
-
ver:'OWASP_CRS/4.
|
|
55
|
+
ver:'OWASP_CRS/4.16.0',\
|
|
55
56
|
severity:'CRITICAL',\
|
|
56
57
|
setvar:'tx.inbound_anomaly_score_pl1=+%{tx.critical_anomaly_score}'"
|
|
57
58
|
|
|
58
59
|
|
|
59
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:913013,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
60
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:913014,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
60
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:913013,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
61
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:913014,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
61
62
|
#
|
|
62
63
|
# -= Paranoia Level 2 =- (apply only when tx.detection_paranoia_level is sufficiently high: 2 or higher)
|
|
63
64
|
#
|
|
64
65
|
|
|
65
66
|
|
|
66
67
|
|
|
67
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:913015,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
68
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:913016,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
68
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:913015,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
69
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:913016,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
69
70
|
#
|
|
70
71
|
# -= Paranoia Level 3 =- (apply only when tx.detection_paranoia_level is sufficiently high: 3 or higher)
|
|
71
72
|
#
|
|
72
73
|
|
|
73
74
|
|
|
74
75
|
|
|
75
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:913017,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
76
|
-
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:913018,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.
|
|
76
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:913017,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
77
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:913018,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.16.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
77
78
|
#
|
|
78
79
|
# -= Paranoia Level 4 =- (apply only when tx.detection_paranoia_level is sufficiently high: 4 or higher)
|
|
79
80
|
#
|