@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.
- package/LICENSE +80 -0
- package/LICENSE-COMMUNITY +28 -0
- package/README.md +121 -0
- package/bin/cli.js +152 -0
- package/package.json +52 -0
- package/payloads/community/README.md +45 -0
- package/payloads/community/ai/ml-poisoning.json +173 -0
- package/payloads/community/ai/prompt-injection.json +247 -0
- package/payloads/community/ai/workflow-abuse.json +222 -0
- package/payloads/community/auth/jwt.json +855 -0
- package/payloads/community/auth/login-bypass.json +623 -0
- package/payloads/community/auth/mfa.json +402 -0
- package/payloads/community/auth/oauth.json +421 -0
- package/payloads/community/auth/open-redirect.json +1028 -0
- package/payloads/community/auth/session.json +404 -0
- package/payloads/community/cache/deception.json +402 -0
- package/payloads/community/cache/poisoning.json +403 -0
- package/payloads/community/deserialization/gadget.json +375 -0
- package/payloads/community/deserialization/prototype.json +370 -0
- package/payloads/community/fuzz/content-type.json +397 -0
- package/payloads/community/fuzz/headers.json +401 -0
- package/payloads/community/fuzz/methods.json +397 -0
- package/payloads/community/fuzz/obfuscation.json +362 -0
- package/payloads/community/fuzz/special-chars.json +740 -0
- package/payloads/community/fuzz/waf-bypass.json +452 -0
- package/payloads/community/graphql/batching-abuse.json +271 -0
- package/payloads/community/graphql/depth-limit.json +271 -0
- package/payloads/community/graphql/introspection.json +267 -0
- package/payloads/community/injection/crlf.json +569 -0
- package/payloads/community/injection/ldap.json +357 -0
- package/payloads/community/injection/nosqli.json +529 -0
- package/payloads/community/injection/oscmd.json +662 -0
- package/payloads/community/injection/rce-polyglots.json +452 -0
- package/payloads/community/injection/sqli.json +681 -0
- package/payloads/community/injection/ssti.json +584 -0
- package/payloads/community/injection/upload-attacks.json +632 -0
- package/payloads/community/injection/xpath.json +357 -0
- package/payloads/community/injection/xxe.json +716 -0
- package/payloads/community/logic/forced-browsing.json +405 -0
- package/payloads/community/logic/idor.json +1026 -0
- package/payloads/community/logic/privilege.json +337 -0
- package/payloads/community/media/exif-injection.json +225 -0
- package/payloads/community/media/metadata-poison.json +239 -0
- package/payloads/community/protocol/http-smuggling.json +798 -0
- package/payloads/community/protocol/http2-attacks.json +382 -0
- package/payloads/community/protocol/websocket-abuse.json +375 -0
- package/payloads/community/rate-limit/burst-simulation.json +286 -0
- package/payloads/community/rate-limit/bypass-attempts.json +326 -0
- package/payloads/community/rate-limit/zone-tests.json +332 -0
- package/payloads/community/services/authentik.json +415 -0
- package/payloads/community/services/immich.json +423 -0
- package/payloads/community/services/n8n.json +366 -0
- package/payloads/community/sqli-basic.json +182 -0
- package/payloads/community/ssrf/cloud-metadata.json +999 -0
- package/payloads/community/ssrf/dns-rebinding.json +503 -0
- package/payloads/community/ssrf/internal-networks.json +627 -0
- package/payloads/community/ssrf/protocol-smuggling.json +350 -0
- package/payloads/community/ssti/multi-language-templates.json +191 -0
- package/payloads/community/ssti/python-templates.json +200 -0
- package/payloads/community/traversal/basic.json +675 -0
- package/payloads/community/traversal/cloud-credentials.json +107 -0
- package/payloads/community/traversal/config-files.json +193 -0
- package/payloads/community/traversal/encoding.json +558 -0
- package/payloads/community/traversal/null-byte.json +105 -0
- package/payloads/community/traversal/symlink.json +93 -0
- package/payloads/community/traversal/unicode.json +134 -0
- package/payloads/community/traversal/unix-advanced.json +195 -0
- package/payloads/community/traversal/windows-advanced.json +195 -0
- package/payloads/community/waf-bypass/cloudflare-bypass.json +102 -0
- package/payloads/community/waf-bypass/encoding-bypass.json +120 -0
- package/payloads/community/waf-bypass/evasion-techniques.json +164 -0
- package/payloads/community/waf-bypass/hpp-bypass.json +92 -0
- package/payloads/community/waf-bypass/modsecurity-crs.json +220 -0
- package/payloads/community/waf-bypass/protocol-attacks.json +101 -0
- package/payloads/community/waf-bypass/sqlmap-tamper.json +252 -0
- package/payloads/community/waf-bypass/unicode-charset.json +152 -0
- package/payloads/community/waf-bypass/vendor-bypasses.json +72 -0
- package/payloads/community/waf-validation/README.md +172 -0
- package/payloads/community/waf-validation/bypass-techniques.json +272 -0
- package/payloads/community/waf-validation/custom-rules.json +952 -0
- package/payloads/community/waf-validation/evasion-techniques.json +272 -0
- package/payloads/community/waf-validation/modsecurity-core.json +151 -0
- package/payloads/community/waf-validation/owasp-top10.json +236 -0
- package/payloads/community/waf-validation/regression-tests.json +227 -0
- package/payloads/community/xss/csp-bypass.json +431 -0
- package/payloads/community/xss/dom.json +389 -0
- package/payloads/community/xss/filter-bypass.json +1242 -0
- package/payloads/community/xss/mutation.json +263 -0
- package/payloads/community/xss/polyglots.json +371 -0
- package/payloads/community/xss/reflected.json +187 -0
- package/payloads/community/xss/stored.json +330 -0
- package/payloads/crlf-injection.json +182 -0
- package/payloads/ids-map.json +155 -0
- package/payloads/ldap-injection.json +182 -0
- package/payloads/nosql-injection.json +227 -0
- package/payloads/prototype-pollution.json +182 -0
- package/payloads/request-smuggling.json +182 -0
- package/payloads/version.json +28 -0
- package/payloads/xss-advanced.json +227 -0
- package/templates/README.md +221 -0
- package/templates/nuclei/http/waf-bypass/crlf-bypass.yaml +146 -0
- package/templates/nuclei/http/waf-bypass/lfi-bypass.yaml +152 -0
- package/templates/nuclei/http/waf-bypass/nosqli-bypass.yaml +166 -0
- package/templates/nuclei/http/waf-bypass/rce-bypass.yaml +171 -0
- package/templates/nuclei/http/waf-bypass/sqli-basic.yaml +142 -0
- package/templates/nuclei/http/waf-bypass/sqli-evasion.yaml +192 -0
- package/templates/nuclei/http/waf-bypass/ssrf-bypass.yaml +130 -0
- package/templates/nuclei/http/waf-bypass/ssti-bypass.yaml +147 -0
- package/templates/nuclei/http/waf-bypass/xss-basic.yaml +163 -0
- package/templates/nuclei/http/waf-bypass/xss-evasion.yaml +217 -0
- package/templates/nuclei/http/waf-bypass/xxe-bypass.yaml +204 -0
- package/templates/nuclei/http/waf-detection/akamai-detect.yaml +105 -0
- package/templates/nuclei/http/waf-detection/aws-waf-detect.yaml +115 -0
- package/templates/nuclei/http/waf-detection/azure-waf-detect.yaml +114 -0
- package/templates/nuclei/http/waf-detection/cloudflare-detect.yaml +121 -0
- package/templates/nuclei/http/waf-detection/modsecurity-detect.yaml +129 -0
- package/templates/nuclei/workflows/waf-assessment-workflow.yaml +71 -0
- package/templates/output/asff.tmpl +61 -0
- package/templates/output/csv.tmpl +4 -0
- package/templates/output/junit.tmpl +34 -0
- package/templates/output/markdown-report.tmpl +92 -0
- package/templates/output/slack-notification.tmpl +95 -0
- package/templates/output/text-summary.tmpl +56 -0
- package/templates/overrides/api-only.yaml +130 -0
- package/templates/overrides/crs-tuning.yaml +204 -0
- package/templates/overrides/false-positive-suppression.yaml +159 -0
- package/templates/policies/owasp-top10.yaml +152 -0
- package/templates/policies/pci-dss.yaml +124 -0
- package/templates/policies/permissive.yaml +40 -0
- package/templates/policies/standard.yaml +57 -0
- package/templates/policies/strict.yaml +72 -0
- package/templates/report-configs/compliance.yaml +173 -0
- package/templates/report-configs/dark.yaml +136 -0
- package/templates/report-configs/enterprise.yaml +175 -0
- package/templates/report-configs/minimal.yaml +84 -0
- package/templates/report-configs/print.yaml +139 -0
- package/templates/workflows/api-scan.yaml +132 -0
- package/templates/workflows/ci-gate.yaml +129 -0
- package/templates/workflows/full-scan.yaml +133 -0
- package/templates/workflows/quick-probe.yaml +80 -0
- package/templates/workflows/waf-detection.yaml +89 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# WAFtester Standard Security Policy
|
|
2
|
+
# Balanced policy suitable for most production environments
|
|
3
|
+
# Allows minor low-severity bypasses but fails on critical issues
|
|
4
|
+
|
|
5
|
+
name: standard
|
|
6
|
+
description: "Balanced security policy — tolerates low-severity edge cases but blocks critical bypasses"
|
|
7
|
+
version: "2.0.0"
|
|
8
|
+
|
|
9
|
+
severity_threshold: medium
|
|
10
|
+
|
|
11
|
+
fail_on:
|
|
12
|
+
bypasses:
|
|
13
|
+
- sqli
|
|
14
|
+
- xss
|
|
15
|
+
- rce
|
|
16
|
+
- ssrf
|
|
17
|
+
- lfi
|
|
18
|
+
- rfi
|
|
19
|
+
- ssti
|
|
20
|
+
- xxe
|
|
21
|
+
- cmdi
|
|
22
|
+
- deserialization
|
|
23
|
+
- nosqli
|
|
24
|
+
- crlf
|
|
25
|
+
- ldap
|
|
26
|
+
- xpath
|
|
27
|
+
- upload
|
|
28
|
+
- request-smuggling
|
|
29
|
+
|
|
30
|
+
categories:
|
|
31
|
+
- injection
|
|
32
|
+
- broken-auth
|
|
33
|
+
- sensitive-data
|
|
34
|
+
- xxe
|
|
35
|
+
- broken-access
|
|
36
|
+
- xss
|
|
37
|
+
- deserialization
|
|
38
|
+
- ssrf
|
|
39
|
+
|
|
40
|
+
effectiveness_below: 85.0
|
|
41
|
+
|
|
42
|
+
error_rate_above: 5.0
|
|
43
|
+
|
|
44
|
+
false_positive_rate_above: 3.0
|
|
45
|
+
|
|
46
|
+
min_tests_required: 20
|
|
47
|
+
|
|
48
|
+
max_response_time_ms: 10000
|
|
49
|
+
|
|
50
|
+
require_waf_detected: false
|
|
51
|
+
|
|
52
|
+
ignore:
|
|
53
|
+
ids: []
|
|
54
|
+
tags:
|
|
55
|
+
- informational
|
|
56
|
+
- recon
|
|
57
|
+
severity_below: low
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# WAFtester Strict Security Policy
|
|
2
|
+
# Zero-tolerance policy for production-grade WAF validation
|
|
3
|
+
# Fails on ANY bypass regardless of severity
|
|
4
|
+
|
|
5
|
+
name: strict
|
|
6
|
+
description: "Zero-tolerance security policy — fails on any WAF bypass or anomaly"
|
|
7
|
+
version: "2.0.0"
|
|
8
|
+
|
|
9
|
+
severity_threshold: low
|
|
10
|
+
|
|
11
|
+
fail_on:
|
|
12
|
+
bypasses:
|
|
13
|
+
# Fail on any bypass in these critical categories
|
|
14
|
+
- sqli
|
|
15
|
+
- xss
|
|
16
|
+
- rce
|
|
17
|
+
- ssrf
|
|
18
|
+
- lfi
|
|
19
|
+
- rfi
|
|
20
|
+
- ssti
|
|
21
|
+
- xxe
|
|
22
|
+
- cmdi
|
|
23
|
+
- deserialization
|
|
24
|
+
- nosqli
|
|
25
|
+
- crlf
|
|
26
|
+
- ldap
|
|
27
|
+
- xpath
|
|
28
|
+
- upload
|
|
29
|
+
- prototype-pollution
|
|
30
|
+
- request-smuggling
|
|
31
|
+
- cors
|
|
32
|
+
- csrf
|
|
33
|
+
- open-redirect
|
|
34
|
+
- idor
|
|
35
|
+
- jwt
|
|
36
|
+
- oauth
|
|
37
|
+
- graphql
|
|
38
|
+
- websocket
|
|
39
|
+
- cache-poisoning
|
|
40
|
+
- host-header
|
|
41
|
+
- hpp
|
|
42
|
+
|
|
43
|
+
categories:
|
|
44
|
+
- injection
|
|
45
|
+
- broken-auth
|
|
46
|
+
- sensitive-data
|
|
47
|
+
- xxe
|
|
48
|
+
- broken-access
|
|
49
|
+
- misconfig
|
|
50
|
+
- xss
|
|
51
|
+
- deserialization
|
|
52
|
+
- components
|
|
53
|
+
- logging
|
|
54
|
+
- ssrf
|
|
55
|
+
|
|
56
|
+
effectiveness_below: 95.0
|
|
57
|
+
|
|
58
|
+
error_rate_above: 2.0
|
|
59
|
+
|
|
60
|
+
false_positive_rate_above: 1.0
|
|
61
|
+
|
|
62
|
+
min_tests_required: 50
|
|
63
|
+
|
|
64
|
+
max_response_time_ms: 5000
|
|
65
|
+
|
|
66
|
+
require_waf_detected: true
|
|
67
|
+
|
|
68
|
+
ignore:
|
|
69
|
+
# No exclusions — strict means strict
|
|
70
|
+
ids: []
|
|
71
|
+
tags: []
|
|
72
|
+
severity_below: ""
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# WAFtester Compliance Report Configuration
|
|
2
|
+
# Structured for regulatory compliance evidence and audit trails
|
|
3
|
+
# Maps findings to OWASP, PCI DSS, NIST, and CIS frameworks
|
|
4
|
+
|
|
5
|
+
name: compliance
|
|
6
|
+
description: "Compliance-focused report mapping findings to regulatory frameworks with audit evidence"
|
|
7
|
+
version: "2.0.0"
|
|
8
|
+
|
|
9
|
+
branding:
|
|
10
|
+
title: "WAF Compliance Assessment Report"
|
|
11
|
+
subtitle: "Regulatory Compliance Evidence"
|
|
12
|
+
logo: ""
|
|
13
|
+
company: ""
|
|
14
|
+
footer: "Confidential — Compliance Documentation"
|
|
15
|
+
classification: "RESTRICTED"
|
|
16
|
+
|
|
17
|
+
layout:
|
|
18
|
+
max_width: 1100
|
|
19
|
+
orientation: portrait
|
|
20
|
+
page_size: A4
|
|
21
|
+
compact: false
|
|
22
|
+
table_of_contents: true
|
|
23
|
+
page_numbers: true
|
|
24
|
+
|
|
25
|
+
sections:
|
|
26
|
+
- id: executive_summary
|
|
27
|
+
title: "Compliance Executive Summary"
|
|
28
|
+
enabled: true
|
|
29
|
+
fields:
|
|
30
|
+
- target
|
|
31
|
+
- timestamp
|
|
32
|
+
- duration
|
|
33
|
+
- total_tests
|
|
34
|
+
- effectiveness
|
|
35
|
+
- grade
|
|
36
|
+
- compliance_status
|
|
37
|
+
|
|
38
|
+
- id: compliance_mapping
|
|
39
|
+
title: "Regulatory Framework Mapping"
|
|
40
|
+
enabled: true
|
|
41
|
+
frameworks:
|
|
42
|
+
- id: owasp_top10
|
|
43
|
+
name: "OWASP Top 10 (2021)"
|
|
44
|
+
version: "2021"
|
|
45
|
+
show_gaps: true
|
|
46
|
+
categories:
|
|
47
|
+
- A01_Broken_Access_Control
|
|
48
|
+
- A02_Cryptographic_Failures
|
|
49
|
+
- A03_Injection
|
|
50
|
+
- A04_Insecure_Design
|
|
51
|
+
- A05_Security_Misconfiguration
|
|
52
|
+
- A06_Vulnerable_Components
|
|
53
|
+
- A07_Auth_Failures
|
|
54
|
+
- A08_Software_Data_Integrity
|
|
55
|
+
- A09_Logging_Monitoring
|
|
56
|
+
- A10_SSRF
|
|
57
|
+
|
|
58
|
+
- id: pci_dss
|
|
59
|
+
name: "PCI DSS v4.0"
|
|
60
|
+
version: "4.0"
|
|
61
|
+
show_gaps: true
|
|
62
|
+
requirements:
|
|
63
|
+
- "6.2.4"
|
|
64
|
+
- "6.4.1"
|
|
65
|
+
- "6.4.2"
|
|
66
|
+
- "11.6.1"
|
|
67
|
+
|
|
68
|
+
- id: nist_800_53
|
|
69
|
+
name: "NIST SP 800-53 Rev 5"
|
|
70
|
+
version: "Rev 5"
|
|
71
|
+
show_gaps: true
|
|
72
|
+
controls:
|
|
73
|
+
- "SI-10"
|
|
74
|
+
- "SC-7"
|
|
75
|
+
- "AC-4"
|
|
76
|
+
|
|
77
|
+
- id: cis_controls
|
|
78
|
+
name: "CIS Controls v8"
|
|
79
|
+
version: "8"
|
|
80
|
+
show_gaps: true
|
|
81
|
+
controls:
|
|
82
|
+
- "13.10"
|
|
83
|
+
|
|
84
|
+
- id: severity_chart
|
|
85
|
+
title: "Finding Severity Distribution"
|
|
86
|
+
enabled: true
|
|
87
|
+
chart_type: "donut"
|
|
88
|
+
|
|
89
|
+
- id: category_breakdown
|
|
90
|
+
title: "Vulnerability Category Analysis"
|
|
91
|
+
enabled: true
|
|
92
|
+
chart_type: "bar"
|
|
93
|
+
|
|
94
|
+
- id: bypasses
|
|
95
|
+
title: "Non-Compliant Findings (Bypasses)"
|
|
96
|
+
enabled: true
|
|
97
|
+
max_items: 100
|
|
98
|
+
sort_by: "severity"
|
|
99
|
+
sort_order: "desc"
|
|
100
|
+
fields:
|
|
101
|
+
- id
|
|
102
|
+
- category
|
|
103
|
+
- severity
|
|
104
|
+
- name
|
|
105
|
+
- url
|
|
106
|
+
- status_code
|
|
107
|
+
- payload
|
|
108
|
+
- owasp_link
|
|
109
|
+
- cwe_link
|
|
110
|
+
- remediation
|
|
111
|
+
- compliance_impact
|
|
112
|
+
|
|
113
|
+
- id: recommendations
|
|
114
|
+
title: "Remediation Plan"
|
|
115
|
+
enabled: true
|
|
116
|
+
priority_order: true
|
|
117
|
+
include_timeline: true
|
|
118
|
+
include_effort_estimate: true
|
|
119
|
+
|
|
120
|
+
- id: attestation
|
|
121
|
+
title: "Assessment Attestation"
|
|
122
|
+
enabled: true
|
|
123
|
+
fields:
|
|
124
|
+
- assessor_name
|
|
125
|
+
- assessment_date
|
|
126
|
+
- scope
|
|
127
|
+
- limitations
|
|
128
|
+
- methodology
|
|
129
|
+
|
|
130
|
+
- id: appendix
|
|
131
|
+
title: "Supporting Evidence"
|
|
132
|
+
enabled: true
|
|
133
|
+
include_raw_payloads: true
|
|
134
|
+
include_response_samples: false
|
|
135
|
+
|
|
136
|
+
styling:
|
|
137
|
+
theme: "light"
|
|
138
|
+
font_family: "'Times New Roman', 'Georgia', serif"
|
|
139
|
+
font_size: "12px"
|
|
140
|
+
heading_font: "'Arial', 'Helvetica', sans-serif"
|
|
141
|
+
code_font: "'Courier New', monospace"
|
|
142
|
+
colors:
|
|
143
|
+
primary: "#1e3a5f"
|
|
144
|
+
secondary: "#4a6fa5"
|
|
145
|
+
success: "#2d6a4f"
|
|
146
|
+
warning: "#b45309"
|
|
147
|
+
danger: "#9b1b30"
|
|
148
|
+
critical: "#7f1d1d"
|
|
149
|
+
info: "#1e40af"
|
|
150
|
+
background: "#ffffff"
|
|
151
|
+
surface: "#f5f5f5"
|
|
152
|
+
text: "#1a1a1a"
|
|
153
|
+
border: "#cccccc"
|
|
154
|
+
|
|
155
|
+
charts:
|
|
156
|
+
enabled: true
|
|
157
|
+
renderer: "svg"
|
|
158
|
+
width: 500
|
|
159
|
+
height: 350
|
|
160
|
+
types:
|
|
161
|
+
- severity_donut
|
|
162
|
+
- compliance_matrix
|
|
163
|
+
- category_bar
|
|
164
|
+
|
|
165
|
+
export:
|
|
166
|
+
formats:
|
|
167
|
+
- pdf
|
|
168
|
+
- html
|
|
169
|
+
- json
|
|
170
|
+
include_raw_data: true
|
|
171
|
+
compress: false
|
|
172
|
+
embed_images: true
|
|
173
|
+
redact_payloads: false
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# WAFtester Dark Theme Report Configuration
|
|
2
|
+
# Modern dark-mode report for developer-facing dashboards and presentations
|
|
3
|
+
# High contrast with syntax-highlighted payloads
|
|
4
|
+
|
|
5
|
+
name: dark
|
|
6
|
+
description: "Dark-themed developer report with syntax highlighting and modern aesthetics"
|
|
7
|
+
version: "2.0.0"
|
|
8
|
+
|
|
9
|
+
branding:
|
|
10
|
+
title: "WAF Security Report"
|
|
11
|
+
subtitle: ""
|
|
12
|
+
logo: ""
|
|
13
|
+
footer: "WAFtester"
|
|
14
|
+
|
|
15
|
+
layout:
|
|
16
|
+
max_width: 1100
|
|
17
|
+
orientation: landscape
|
|
18
|
+
page_size: A4
|
|
19
|
+
compact: false
|
|
20
|
+
table_of_contents: false
|
|
21
|
+
page_numbers: false
|
|
22
|
+
|
|
23
|
+
sections:
|
|
24
|
+
- id: executive_summary
|
|
25
|
+
title: "Overview"
|
|
26
|
+
enabled: true
|
|
27
|
+
fields:
|
|
28
|
+
- target
|
|
29
|
+
- timestamp
|
|
30
|
+
- duration
|
|
31
|
+
- total_tests
|
|
32
|
+
- blocked
|
|
33
|
+
- bypassed
|
|
34
|
+
- errors
|
|
35
|
+
- effectiveness
|
|
36
|
+
- grade
|
|
37
|
+
- highest_severity
|
|
38
|
+
|
|
39
|
+
- id: severity_chart
|
|
40
|
+
title: "Severity Distribution"
|
|
41
|
+
enabled: true
|
|
42
|
+
chart_type: "donut"
|
|
43
|
+
|
|
44
|
+
- id: category_breakdown
|
|
45
|
+
title: "Category Breakdown"
|
|
46
|
+
enabled: true
|
|
47
|
+
chart_type: "horizontal_bar"
|
|
48
|
+
|
|
49
|
+
- id: bypasses
|
|
50
|
+
title: "Bypasses"
|
|
51
|
+
enabled: true
|
|
52
|
+
max_items: 50
|
|
53
|
+
sort_by: "severity"
|
|
54
|
+
sort_order: "desc"
|
|
55
|
+
fields:
|
|
56
|
+
- id
|
|
57
|
+
- category
|
|
58
|
+
- severity
|
|
59
|
+
- name
|
|
60
|
+
- url
|
|
61
|
+
- method
|
|
62
|
+
- status_code
|
|
63
|
+
- outcome
|
|
64
|
+
- latency
|
|
65
|
+
- payload
|
|
66
|
+
syntax_highlight: true
|
|
67
|
+
show_payload_raw: true
|
|
68
|
+
|
|
69
|
+
- id: detailed_results
|
|
70
|
+
title: "All Results"
|
|
71
|
+
enabled: true
|
|
72
|
+
paginate: true
|
|
73
|
+
page_size: 100
|
|
74
|
+
filterable: true
|
|
75
|
+
sortable: true
|
|
76
|
+
|
|
77
|
+
- id: recommendations
|
|
78
|
+
title: "Recommendations"
|
|
79
|
+
enabled: false
|
|
80
|
+
|
|
81
|
+
styling:
|
|
82
|
+
theme: "dark"
|
|
83
|
+
font_family: "'Inter', 'SF Pro Display', system-ui, sans-serif"
|
|
84
|
+
font_size: "14px"
|
|
85
|
+
heading_font: "'Inter', system-ui, sans-serif"
|
|
86
|
+
code_font: "'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace"
|
|
87
|
+
colors:
|
|
88
|
+
primary: "#60a5fa"
|
|
89
|
+
secondary: "#a78bfa"
|
|
90
|
+
success: "#34d399"
|
|
91
|
+
warning: "#fbbf24"
|
|
92
|
+
danger: "#f87171"
|
|
93
|
+
critical: "#ef4444"
|
|
94
|
+
info: "#38bdf8"
|
|
95
|
+
background: "#0f172a"
|
|
96
|
+
surface: "#1e293b"
|
|
97
|
+
surface_hover: "#334155"
|
|
98
|
+
text: "#f1f5f9"
|
|
99
|
+
text_secondary: "#94a3b8"
|
|
100
|
+
text_muted: "#64748b"
|
|
101
|
+
border: "#334155"
|
|
102
|
+
code_background: "#1e293b"
|
|
103
|
+
code_text: "#e2e8f0"
|
|
104
|
+
severity_colors:
|
|
105
|
+
critical: "#ef4444"
|
|
106
|
+
high: "#f97316"
|
|
107
|
+
medium: "#eab308"
|
|
108
|
+
low: "#3b82f6"
|
|
109
|
+
info: "#6b7280"
|
|
110
|
+
syntax_highlighting:
|
|
111
|
+
keyword: "#c084fc"
|
|
112
|
+
string: "#34d399"
|
|
113
|
+
number: "#fb923c"
|
|
114
|
+
comment: "#64748b"
|
|
115
|
+
operator: "#38bdf8"
|
|
116
|
+
|
|
117
|
+
charts:
|
|
118
|
+
enabled: true
|
|
119
|
+
renderer: "svg"
|
|
120
|
+
width: 600
|
|
121
|
+
height: 400
|
|
122
|
+
dark_mode: true
|
|
123
|
+
types:
|
|
124
|
+
- severity_donut
|
|
125
|
+
- category_bar
|
|
126
|
+
- effectiveness_gauge
|
|
127
|
+
- timeline
|
|
128
|
+
|
|
129
|
+
export:
|
|
130
|
+
formats:
|
|
131
|
+
- html
|
|
132
|
+
- json
|
|
133
|
+
- markdown
|
|
134
|
+
include_raw_data: true
|
|
135
|
+
compress: false
|
|
136
|
+
embed_images: true
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# WAFtester Enterprise Report Configuration
|
|
2
|
+
# Full-featured report with executive summary, compliance mapping,
|
|
3
|
+
# trend analysis, detailed findings, and remediation guidance.
|
|
4
|
+
# Suitable for stakeholder presentations and audit documentation.
|
|
5
|
+
|
|
6
|
+
name: enterprise
|
|
7
|
+
description: "Comprehensive enterprise report with executive summary, compliance mapping, and remediation"
|
|
8
|
+
version: "2.0.0"
|
|
9
|
+
|
|
10
|
+
branding:
|
|
11
|
+
title: "WAF Security Assessment Report"
|
|
12
|
+
subtitle: "Enterprise Security Analysis"
|
|
13
|
+
logo: ""
|
|
14
|
+
company: ""
|
|
15
|
+
footer: "Confidential — Generated by WAFtester"
|
|
16
|
+
classification: "CONFIDENTIAL"
|
|
17
|
+
|
|
18
|
+
layout:
|
|
19
|
+
max_width: 1200
|
|
20
|
+
orientation: portrait
|
|
21
|
+
page_size: A4
|
|
22
|
+
compact: false
|
|
23
|
+
table_of_contents: true
|
|
24
|
+
page_numbers: true
|
|
25
|
+
|
|
26
|
+
sections:
|
|
27
|
+
- id: cover_page
|
|
28
|
+
title: "Cover Page"
|
|
29
|
+
enabled: true
|
|
30
|
+
fields:
|
|
31
|
+
- title
|
|
32
|
+
- target
|
|
33
|
+
- timestamp
|
|
34
|
+
- assessor
|
|
35
|
+
- classification
|
|
36
|
+
|
|
37
|
+
- id: executive_summary
|
|
38
|
+
title: "Executive Summary"
|
|
39
|
+
enabled: true
|
|
40
|
+
fields:
|
|
41
|
+
- target
|
|
42
|
+
- timestamp
|
|
43
|
+
- duration
|
|
44
|
+
- total_tests
|
|
45
|
+
- blocked
|
|
46
|
+
- bypassed
|
|
47
|
+
- errors
|
|
48
|
+
- timeouts
|
|
49
|
+
- effectiveness
|
|
50
|
+
- grade
|
|
51
|
+
- highest_severity
|
|
52
|
+
- waf_vendor
|
|
53
|
+
- waf_version
|
|
54
|
+
include_risk_rating: true
|
|
55
|
+
include_trend: true
|
|
56
|
+
|
|
57
|
+
- id: severity_chart
|
|
58
|
+
title: "Severity Distribution"
|
|
59
|
+
enabled: true
|
|
60
|
+
chart_type: "donut"
|
|
61
|
+
|
|
62
|
+
- id: category_breakdown
|
|
63
|
+
title: "Category Analysis"
|
|
64
|
+
enabled: true
|
|
65
|
+
chart_type: "bar"
|
|
66
|
+
show_effectiveness_per_category: true
|
|
67
|
+
|
|
68
|
+
- id: compliance_mapping
|
|
69
|
+
title: "Compliance Mapping"
|
|
70
|
+
enabled: true
|
|
71
|
+
frameworks:
|
|
72
|
+
- owasp_top10
|
|
73
|
+
- pci_dss
|
|
74
|
+
- nist_800_53
|
|
75
|
+
- cis_controls
|
|
76
|
+
show_gaps: true
|
|
77
|
+
|
|
78
|
+
- id: bypasses
|
|
79
|
+
title: "Critical Findings — WAF Bypasses"
|
|
80
|
+
enabled: true
|
|
81
|
+
max_items: 100
|
|
82
|
+
sort_by: "severity"
|
|
83
|
+
sort_order: "desc"
|
|
84
|
+
fields:
|
|
85
|
+
- id
|
|
86
|
+
- category
|
|
87
|
+
- severity
|
|
88
|
+
- name
|
|
89
|
+
- url
|
|
90
|
+
- method
|
|
91
|
+
- status_code
|
|
92
|
+
- outcome
|
|
93
|
+
- latency
|
|
94
|
+
- payload
|
|
95
|
+
- owasp_link
|
|
96
|
+
- cwe_link
|
|
97
|
+
- remediation
|
|
98
|
+
|
|
99
|
+
- id: false_positives
|
|
100
|
+
title: "False Positive Analysis"
|
|
101
|
+
enabled: true
|
|
102
|
+
|
|
103
|
+
- id: detailed_results
|
|
104
|
+
title: "Detailed Test Results"
|
|
105
|
+
enabled: true
|
|
106
|
+
paginate: true
|
|
107
|
+
page_size: 50
|
|
108
|
+
|
|
109
|
+
- id: recommendations
|
|
110
|
+
title: "Remediation Recommendations"
|
|
111
|
+
enabled: true
|
|
112
|
+
priority_order: true
|
|
113
|
+
include_waf_rules: true
|
|
114
|
+
|
|
115
|
+
- id: methodology
|
|
116
|
+
title: "Testing Methodology"
|
|
117
|
+
enabled: true
|
|
118
|
+
include_tools: true
|
|
119
|
+
include_scope: true
|
|
120
|
+
|
|
121
|
+
- id: appendix
|
|
122
|
+
title: "Appendix"
|
|
123
|
+
enabled: true
|
|
124
|
+
include_raw_payloads: true
|
|
125
|
+
include_response_samples: true
|
|
126
|
+
|
|
127
|
+
styling:
|
|
128
|
+
theme: "light"
|
|
129
|
+
font_family: "'Inter', 'Segoe UI', system-ui, sans-serif"
|
|
130
|
+
font_size: "13px"
|
|
131
|
+
heading_font: "'Inter', 'Segoe UI', system-ui, sans-serif"
|
|
132
|
+
code_font: "'JetBrains Mono', 'Fira Code', monospace"
|
|
133
|
+
colors:
|
|
134
|
+
primary: "#1e40af"
|
|
135
|
+
secondary: "#7c3aed"
|
|
136
|
+
success: "#059669"
|
|
137
|
+
warning: "#d97706"
|
|
138
|
+
danger: "#dc2626"
|
|
139
|
+
critical: "#991b1b"
|
|
140
|
+
info: "#0284c7"
|
|
141
|
+
background: "#ffffff"
|
|
142
|
+
surface: "#f8fafc"
|
|
143
|
+
text: "#0f172a"
|
|
144
|
+
text_secondary: "#475569"
|
|
145
|
+
border: "#e2e8f0"
|
|
146
|
+
severity_colors:
|
|
147
|
+
critical: "#991b1b"
|
|
148
|
+
high: "#dc2626"
|
|
149
|
+
medium: "#d97706"
|
|
150
|
+
low: "#2563eb"
|
|
151
|
+
info: "#6b7280"
|
|
152
|
+
|
|
153
|
+
charts:
|
|
154
|
+
enabled: true
|
|
155
|
+
renderer: "svg"
|
|
156
|
+
width: 600
|
|
157
|
+
height: 400
|
|
158
|
+
types:
|
|
159
|
+
- severity_donut
|
|
160
|
+
- category_bar
|
|
161
|
+
- effectiveness_gauge
|
|
162
|
+
- timeline
|
|
163
|
+
- heatmap
|
|
164
|
+
|
|
165
|
+
export:
|
|
166
|
+
formats:
|
|
167
|
+
- html
|
|
168
|
+
- pdf
|
|
169
|
+
- json
|
|
170
|
+
- sarif
|
|
171
|
+
- markdown
|
|
172
|
+
include_raw_data: true
|
|
173
|
+
compress: false
|
|
174
|
+
embed_images: true
|
|
175
|
+
max_file_size_mb: 50
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# WAFtester Minimal Report Configuration
|
|
2
|
+
# Clean, compact output with essential metrics only
|
|
3
|
+
# Ideal for quick assessments, terminal output, and Slack notifications
|
|
4
|
+
|
|
5
|
+
name: minimal
|
|
6
|
+
description: "Compact report with critical metrics — bypasses, grade, and top findings"
|
|
7
|
+
version: "2.0.0"
|
|
8
|
+
|
|
9
|
+
branding:
|
|
10
|
+
title: "WAF Security Report"
|
|
11
|
+
logo: ""
|
|
12
|
+
footer: "Generated by WAFtester"
|
|
13
|
+
|
|
14
|
+
layout:
|
|
15
|
+
max_width: 800
|
|
16
|
+
orientation: portrait
|
|
17
|
+
page_size: A4
|
|
18
|
+
compact: true
|
|
19
|
+
|
|
20
|
+
sections:
|
|
21
|
+
- id: summary
|
|
22
|
+
title: "Summary"
|
|
23
|
+
enabled: true
|
|
24
|
+
fields:
|
|
25
|
+
- target
|
|
26
|
+
- timestamp
|
|
27
|
+
- duration
|
|
28
|
+
- total_tests
|
|
29
|
+
- blocked
|
|
30
|
+
- bypassed
|
|
31
|
+
- effectiveness
|
|
32
|
+
- grade
|
|
33
|
+
|
|
34
|
+
- id: bypasses
|
|
35
|
+
title: "Bypasses"
|
|
36
|
+
enabled: true
|
|
37
|
+
max_items: 10
|
|
38
|
+
fields:
|
|
39
|
+
- id
|
|
40
|
+
- category
|
|
41
|
+
- severity
|
|
42
|
+
- name
|
|
43
|
+
- status_code
|
|
44
|
+
- payload
|
|
45
|
+
|
|
46
|
+
- id: severity_chart
|
|
47
|
+
title: "Severity Distribution"
|
|
48
|
+
enabled: false
|
|
49
|
+
|
|
50
|
+
- id: category_breakdown
|
|
51
|
+
title: "Category Breakdown"
|
|
52
|
+
enabled: false
|
|
53
|
+
|
|
54
|
+
- id: detailed_results
|
|
55
|
+
title: "All Results"
|
|
56
|
+
enabled: false
|
|
57
|
+
|
|
58
|
+
- id: recommendations
|
|
59
|
+
title: "Recommendations"
|
|
60
|
+
enabled: false
|
|
61
|
+
|
|
62
|
+
styling:
|
|
63
|
+
theme: "light"
|
|
64
|
+
font_family: "system-ui, -apple-system, sans-serif"
|
|
65
|
+
font_size: "14px"
|
|
66
|
+
colors:
|
|
67
|
+
primary: "#2563eb"
|
|
68
|
+
success: "#16a34a"
|
|
69
|
+
warning: "#d97706"
|
|
70
|
+
danger: "#dc2626"
|
|
71
|
+
info: "#0891b2"
|
|
72
|
+
background: "#ffffff"
|
|
73
|
+
text: "#1e293b"
|
|
74
|
+
|
|
75
|
+
charts:
|
|
76
|
+
enabled: false
|
|
77
|
+
|
|
78
|
+
export:
|
|
79
|
+
formats:
|
|
80
|
+
- text
|
|
81
|
+
- json
|
|
82
|
+
- markdown
|
|
83
|
+
include_raw_data: false
|
|
84
|
+
compress: false
|