diff --git a/CHANGELOG b/CHANGELOG index cc7752cff..3937ef137 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ [v#.#.#] ([month] [YYYY]) - - [entity]: - - [future tense verb] [feature] + - Welcome Kit: + - Add HTML report template + - Add Issue and evidence templates + - Update OWASP Top 10 methodology to latest version (2021) - Upgraded gems: - [gem] - Bugs fixes: diff --git a/lib/tasks/templates/welcome/kit/templates/methodologies/OWASP-Top10-2021.xml b/lib/tasks/templates/welcome/kit/templates/methodologies/OWASP-Top10-2021.xml new file mode 100644 index 000000000..2d1a92b66 --- /dev/null +++ b/lib/tasks/templates/welcome/kit/templates/methodologies/OWASP-Top10-2021.xml @@ -0,0 +1,728 @@ + + + 700 + OWASP Top 10 - 2021 + + + 2164 + To Do + + + 14262 + A01:2021 – Broken Access Control + +14263A02:2021 – Cryptographic Failures +1426214264A03:2021 – Injection +1426314265A04:2021 – Insecure Design +1426414266A05:2021 – Security Misconfiguration +1426514267A06:2021 – Vulnerable and Outdated Components +1426614268A07:2021 – Identification and Authentication Failures +1426714269A08:2021 – Software and Data Integrity Failures +1426814270A09:2021 – Security Logging and Monitoring Failures +1426914271A10:2021 – Server-Side Request Forgery (SSRF +14270 + + 2165In Progress2164 + 2166Done2165 + \ No newline at end of file diff --git a/lib/tasks/templates/welcome/kit/templates/methodologies/owasp2017.xml b/lib/tasks/templates/welcome/kit/templates/methodologies/owasp2017.xml deleted file mode 100644 index ccf73acf6..000000000 --- a/lib/tasks/templates/welcome/kit/templates/methodologies/owasp2017.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - Simple OWASP checklist - -
- OWASP Top 10 - - A1:2017 - Injection - A2:2017 - Broken Authentication - A3:2017 - Sensitive Data Exchange - A4:2017 - XML External Entities (XXE) - A5:2017 - Broken Access Control - A6:2017 - Security Misconfiguration - A7:2017 - Cross-Site Scripting (XSS) - A8:2017 - Insecure Deserialization - A9:2017 - Using Components with Known Vulnerabilities - A10:2017 - Insufficiend Logging & Monitoring - -
-
- A1:2017 - Injection - - Check for SQL injection - Check for LDAP injection - Check for XPath injection - Check for NoSQL injection - Check for OS command injection - Check for XML injection - Check for SMTP headers injection - Check for ORM queries injection - -
-
-
diff --git a/lib/tasks/templates/welcome/kit/templates/notes/basic_fields.txt b/lib/tasks/templates/welcome/kit/templates/notes/basic_fields.txt deleted file mode 100644 index a87859eb5..000000000 --- a/lib/tasks/templates/welcome/kit/templates/notes/basic_fields.txt +++ /dev/null @@ -1,7 +0,0 @@ -#[Title]# - - -#[Description]# - - -#[Recommendation]# diff --git a/lib/tasks/templates/welcome/kit/templates/notes/evidence.txt b/lib/tasks/templates/welcome/kit/templates/notes/evidence.txt new file mode 100644 index 000000000..2f1264619 --- /dev/null +++ b/lib/tasks/templates/welcome/kit/templates/notes/evidence.txt @@ -0,0 +1,4 @@ +#[Location]# + +#[Output]# + diff --git a/lib/tasks/templates/welcome/kit/templates/notes/issue.txt b/lib/tasks/templates/welcome/kit/templates/notes/issue.txt new file mode 100644 index 000000000..2bf959452 --- /dev/null +++ b/lib/tasks/templates/welcome/kit/templates/notes/issue.txt @@ -0,0 +1,16 @@ +#[Title]# + +#[CVSSv4.BaseScore]# + +#[CVSSv4.BaseVector]# + +#[Type]# +Internal | External + +#[Description]# + +#[Solution]# + +#[References]# + + diff --git a/lib/tasks/templates/welcome/kit/templates/reports/html_export/dradis_template-welcome.v0.4.html.erb b/lib/tasks/templates/welcome/kit/templates/reports/html_export/dradis_template-welcome.v0.4.html.erb new file mode 100644 index 000000000..001f8c3f8 --- /dev/null +++ b/lib/tasks/templates/welcome/kit/templates/reports/html_export/dradis_template-welcome.v0.4.html.erb @@ -0,0 +1,294 @@ + + + + + Report - Dradis Professional Edition + + + + + + +
+
+ Dradis Professional Edition +
+
+
+
+
+

Full HTML report by Kobol Consulting

+

Summary of Findings

+ + + + + + + + + + <% [:critical, :high, :medium, :low, :info].each do |rating| %> + <% sorted[rating].each do |issue| %> + + + + + + <% end %> + <% end %> + +
IssueRiskCVSSv4
+ <%= h issue.fields['Title'] %> + <%= rating.to_s.titleize %><%= markup(issue.fields['CVSSv4.BaseScore'], liquid: true) %>
+ +
+ + +

Detailed findings

+ <% for issue in issues do %> +
+

<%= h issue.fields['Title'] %>

+ <% ['CVSSv4.BaseScore', 'Description', 'Solution', 'References' ].each do |field_name| %> +
+
<%= field_name %>
+
<%= markup(issue.fields[field_name], liquid: true) %>
+
+ <% end %> +
+
+
+ <% end %> + +

Conclusions and Recommendations

+ <% content_service.all_content_blocks.each do |block| %> + <% if block.fields['Type'] == "Conclusions"%> + <%= markup(block.fields['Description'], liquid: true) %> + <% end %> + <% end %> +
+
+ +

Appendix

+ <% content_service.all_content_blocks.each do |block| %> + <% if block.fields['Type'] == "Appendix"%> +

<%= markup(block.fields['Title'], liquid: true) %>

+ <%= markup(block.fields['Description'], liquid: true) %> + <% end %> + <% end %> +
+
+ +
+
+
+ + + + diff --git a/lib/tasks/templates/welcome/kit/templates/reports/html_export/dradis_template-welcome.v0.4.html.rb b/lib/tasks/templates/welcome/kit/templates/reports/html_export/dradis_template-welcome.v0.4.html.rb new file mode 100644 index 000000000..42d6b4635 --- /dev/null +++ b/lib/tasks/templates/welcome/kit/templates/reports/html_export/dradis_template-welcome.v0.4.html.rb @@ -0,0 +1,38 @@ +ReportTemplateProperties.create_from_hash!( + definition_file: File.basename(__FILE__, '.html.rb'), + # plugin_name: 'excel', + # plugin_name: 'word', + plugin_name: 'html_export', + content_block_fields: { + 'Conclusions' => [ + {name: 'Title', type: 'string', values: nil}, + {name: 'Type', type: 'string', values: 'Conclusions'}, + {name: 'Description', type: 'string', values: nil} + ], + 'Appendix' => [ + {name: 'Title', type: 'string', values: nil}, + {name: 'Type', type: 'string', values: 'Appendix'}, + {name: 'Description', type: 'string', values: nil} + ] + }, + document_properties: [ + 'dradis.project', + 'dradis.author', + 'dradis.client', + 'dradis.version' + ], + evidence_fields: [ + {name: 'Location', type: 'string', values: nil}, + {name: 'Output', type: 'string', values: nil} + ], + issue_fields: [ + {name: 'Title', type: 'string', values: nil}, + {name: 'CVSSv4.BaseScore', type: 'number', values: nil}, + {name: 'CVSSv4.BaseVector', type: 'string', values: nil}, + {name: 'Type', type: 'string', values: "Internal\nExternal"}, + {name: 'Description', type: 'string', values: nil}, + {name: 'Solution', type: 'string', values: nil}, + {name: 'References', type: 'string', values: nil} + ], + sort_field: 'CVSSv4.BaseScore' +) diff --git a/lib/tasks/templates/welcome/kit/welcome-to-dradis.zip b/lib/tasks/templates/welcome/kit/welcome-to-dradis.zip index 82095da43..4901b81ef 100644 Binary files a/lib/tasks/templates/welcome/kit/welcome-to-dradis.zip and b/lib/tasks/templates/welcome/kit/welcome-to-dradis.zip differ