dradis-netsparker 3.13.0 → 3.18.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.
- checksums.yaml +5 -5
- data/.github/issue_template.md +16 -0
- data/.github/pull_request_template.md +36 -0
- data/CHANGELOG.md +20 -0
- data/dradis-netsparker.gemspec +2 -2
- data/lib/dradis/plugins/netsparker/gem_version.rb +1 -1
- data/lib/netsparker/vulnerability.rb +3 -11
- data/spec/vulnerability_spec.rb +50 -0
- metadata +13 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 4462389c5ca5f5ee3b01cbe71afef3f72bf55929973cc15b02ac85d9f7469d19
|
|
4
|
+
data.tar.gz: 396cf9712edb1a494d6413652868338b89dbdc4db948d19aaec8e4f7c872138e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7803d9cfe9076f46975026a0d64acea2522c5c00d8d7adbd94613adf9ac04ad67670a6ef67a82e860df9549762e9e9f6b10326d63eb8458815f4f9b4dfb52d9a
|
|
7
|
+
data.tar.gz: 135a840836c8550c6dabe79a986ca7c061418a7e203b482837f4eb494c7e6835d6ef7b43e870502c6025eba49647ecdf7ee7eca7b6376ab19252d7015aaf6fd3
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
### Steps to reproduce
|
|
2
|
+
|
|
3
|
+
Help us help you, how can we reproduce the problem?
|
|
4
|
+
|
|
5
|
+
### Expected behavior
|
|
6
|
+
Tell us what should happen
|
|
7
|
+
|
|
8
|
+
### Actual behavior
|
|
9
|
+
Tell us what happens instead
|
|
10
|
+
|
|
11
|
+
### System configuration
|
|
12
|
+
**Dradis version**:
|
|
13
|
+
|
|
14
|
+
**Ruby version**:
|
|
15
|
+
|
|
16
|
+
**OS version**:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
### Summary
|
|
2
|
+
|
|
3
|
+
Provide a general description of the code changes in your pull
|
|
4
|
+
request... were there any bugs you had fixed? If so, mention them. If
|
|
5
|
+
these bugs have open GitHub issues, be sure to tag them here as well,
|
|
6
|
+
to keep the conversation linked together.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Other Information
|
|
10
|
+
|
|
11
|
+
If there's anything else that's important and relevant to your pull
|
|
12
|
+
request, mention that information here. This could include
|
|
13
|
+
benchmarks, or other information.
|
|
14
|
+
|
|
15
|
+
Thanks for contributing to Dradis!
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Copyright assignment
|
|
19
|
+
|
|
20
|
+
Collaboration is difficult with commercial closed source but we want
|
|
21
|
+
to keep as much of the OSS ethos as possible available to users
|
|
22
|
+
who want to fix it themselves.
|
|
23
|
+
|
|
24
|
+
In order to unambiguously own and sell Dradis Framework commercial
|
|
25
|
+
products, we must have the copyright associated with the entire
|
|
26
|
+
codebase. Any code you create which is merged must be owned by us.
|
|
27
|
+
That's not us trying to be a jerks, that's just the way it works.
|
|
28
|
+
|
|
29
|
+
Please review the [CONTRIBUTING.md](https://github.com/dradis/dradis-ce/blob/master/CONTRIBUTING.md)
|
|
30
|
+
file for the details.
|
|
31
|
+
|
|
32
|
+
You can delete this section, but the following sentence needs to
|
|
33
|
+
remain in the PR's description:
|
|
34
|
+
|
|
35
|
+
> I assign all rights, including copyright, to any future Dradis
|
|
36
|
+
> work by myself to Security Roots.
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## Dradis Framework 3.18 (July, 2020) ##
|
|
2
|
+
|
|
3
|
+
* No changes.
|
|
4
|
+
|
|
5
|
+
## Dradis Framework 3.17 (May, 2020) ##
|
|
6
|
+
|
|
7
|
+
* Use the new <title> tag provided by Netsparker.
|
|
8
|
+
|
|
9
|
+
## Dradis Framework 3.16 (February, 2020) ##
|
|
10
|
+
|
|
11
|
+
* No changes.
|
|
12
|
+
|
|
13
|
+
## Dradis Framework 3.15 (November, 2019) ##
|
|
14
|
+
|
|
15
|
+
* Fix link parsing of issue.external_references
|
|
16
|
+
|
|
17
|
+
## Dradis Framework 3.14 (August, 2019) ##
|
|
18
|
+
|
|
19
|
+
* No changes.
|
|
20
|
+
|
|
1
21
|
## Dradis Framework 3.13 (June, 2019)
|
|
2
22
|
|
|
3
23
|
* Add Known Vulnerabilities and OWASP 2017 Classification as available Issue fields
|
data/dradis-netsparker.gemspec
CHANGED
|
@@ -26,9 +26,9 @@ Gem::Specification.new do |spec|
|
|
|
26
26
|
# until we bump Dradis Pro to 4.1.
|
|
27
27
|
# s.add_dependency 'rails', '~> 4.1.1'
|
|
28
28
|
spec.add_dependency 'dradis-plugins', '~> 3.2'
|
|
29
|
-
spec.add_dependency 'nokogiri', '~> 1.
|
|
29
|
+
spec.add_dependency 'nokogiri', '~> 1.10.4'
|
|
30
30
|
|
|
31
|
-
spec.add_development_dependency 'bundler'
|
|
31
|
+
spec.add_development_dependency 'bundler'
|
|
32
32
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
33
33
|
spec.add_development_dependency 'rspec-rails'
|
|
34
34
|
spec.add_development_dependency 'combustion', '~> 0.5.2'
|
|
@@ -19,15 +19,12 @@ module Netsparker
|
|
|
19
19
|
# collections.
|
|
20
20
|
def supported_tags
|
|
21
21
|
[
|
|
22
|
-
# made-up tags
|
|
23
|
-
:title,
|
|
24
|
-
|
|
25
22
|
# simple tags
|
|
26
23
|
:actions_to_take, :certainty, :description, :external_references,
|
|
27
|
-
:extrainformation, :impact, :knownvulnerabilities,
|
|
24
|
+
:extrainformation, :impact, :knownvulnerabilities,
|
|
28
25
|
:rawrequest, :rawresponse, :remedy,
|
|
29
26
|
:remedy_references, :required_skills_for_exploitation, :severity,
|
|
30
|
-
:type, :url,
|
|
27
|
+
:title, :type, :url,
|
|
31
28
|
|
|
32
29
|
# tags that correspond to Evidence
|
|
33
30
|
:vulnerableparameter, :vulnerableparametertype, :vulnerableparametervalue,
|
|
@@ -99,10 +96,6 @@ module Netsparker
|
|
|
99
96
|
}
|
|
100
97
|
method_name = translations_table.fetch(method, method.to_s)
|
|
101
98
|
|
|
102
|
-
# We've got a virtual method :title which isn't provided by Netsparker
|
|
103
|
-
# but that most users will be expecting.
|
|
104
|
-
return type.underscore.humanize if method == :title
|
|
105
|
-
|
|
106
99
|
# first we try the attributes:
|
|
107
100
|
# return @xml.attributes[method_name].value if @xml.attributes.key?(method_name)
|
|
108
101
|
|
|
@@ -145,8 +138,7 @@ module Netsparker
|
|
|
145
138
|
result.gsub!(/(<p>)|(<\/p>)/, "\n")
|
|
146
139
|
result.gsub!(/\n[a-z]\. /, "\n\* ")
|
|
147
140
|
|
|
148
|
-
result.gsub!(/<a href
|
|
149
|
-
result.gsub!(/<a href=\'(.*?)\'>(.*?)<\/a>/i) { "\"#{$2.strip}\":#{$1.strip}" }
|
|
141
|
+
result.gsub!(/<a .*?href=(?:\"|\')(.*?)(?:\"|\').*?>(?:<i.*?<\/i>)?(.*?)<\/a>/i) { "\"#{$2.strip}\":#{$1.strip}" }
|
|
150
142
|
|
|
151
143
|
result.gsub!(/<code><pre.*?>(.*?)<\/pre><\/code>/m) {|m| "\n\nbc.. #{$1}\n\np. \n" }
|
|
152
144
|
result.gsub!(/<pre.*?>(.*?)<\/pre>/m) {|m| "\n\nbc.. #{$1}\n\np. \n" }
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Netsparker::Vulnerability do
|
|
4
|
+
let(:doc) { described_class.new(nil) }
|
|
5
|
+
|
|
6
|
+
describe '#cleanup_html' do
|
|
7
|
+
it 'formats the html special characters' do
|
|
8
|
+
sample = "<doc>"&<>'</doc>"
|
|
9
|
+
expected = "<doc>\"&<>\'</doc>"
|
|
10
|
+
expect(doc.send(:cleanup_html, sample)).to eq(expected)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'outputs the CDATA text' do
|
|
14
|
+
sample = "<doc><![CDATA[Sample Text]]></doc>"
|
|
15
|
+
|
|
16
|
+
expected = "<doc>Sample Text</doc>"
|
|
17
|
+
expect(doc.send(:cleanup_html, sample)).to eq(expected)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 're-formats the html formatting tags to textile' do
|
|
21
|
+
sample = "<doc>"\
|
|
22
|
+
"<b>Bold</b>\n"\
|
|
23
|
+
"<i>Italic</i>\n"\
|
|
24
|
+
"<em>Emphasis</em>\n"\
|
|
25
|
+
"<h2>Header</h2>\n"\
|
|
26
|
+
"<strong>Strong</strong>\n"\
|
|
27
|
+
"</doc>"
|
|
28
|
+
|
|
29
|
+
expected = "<doc>*Bold*\n_Italic_\n*Emphasis*\n*Header*\n*Strong*\n</doc>"
|
|
30
|
+
expect(doc.send(:cleanup_html, sample)).to eq(expected)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 're-format the html link to textile' do
|
|
34
|
+
sample = "<doc>"\
|
|
35
|
+
"<a href='https://drad.is'>DradisLink1</a>\n"\
|
|
36
|
+
"<a target='_blank' href='https://drad.is'><i class='icon-external-link'></i>DradisLink2</a>\n"\
|
|
37
|
+
"<a href=\"https://drad.is\">DradisLink3</a>\n"\
|
|
38
|
+
"<a href=\"https://drad.is\" class='rspec'>DradisLink4</a>\n"\
|
|
39
|
+
"</doc>"
|
|
40
|
+
|
|
41
|
+
expected = "<doc>"\
|
|
42
|
+
"\"DradisLink1\":https://drad.is\n"\
|
|
43
|
+
"\"DradisLink2\":https://drad.is\n"\
|
|
44
|
+
"\"DradisLink3\":https://drad.is\n"\
|
|
45
|
+
"\"DradisLink4\":https://drad.is\n"\
|
|
46
|
+
"</doc>"
|
|
47
|
+
expect(doc.send(:cleanup_html, sample)).to eq(expected)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dradis-netsparker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.18.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Martin
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-07-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: dradis-plugins
|
|
@@ -30,28 +30,28 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 1.10.4
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 1.10.4
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -102,6 +102,8 @@ executables: []
|
|
|
102
102
|
extensions: []
|
|
103
103
|
extra_rdoc_files: []
|
|
104
104
|
files:
|
|
105
|
+
- ".github/issue_template.md"
|
|
106
|
+
- ".github/pull_request_template.md"
|
|
105
107
|
- ".gitignore"
|
|
106
108
|
- CHANGELOG.md
|
|
107
109
|
- CONTRIBUTING.md
|
|
@@ -125,6 +127,7 @@ files:
|
|
|
125
127
|
- spec/fixtures/files/netsparker-localhost-demo.xml
|
|
126
128
|
- spec/fixtures/files/testsparker.xml
|
|
127
129
|
- spec/spec_helper.rb
|
|
130
|
+
- spec/vulnerability_spec.rb
|
|
128
131
|
- templates/evidence.fields
|
|
129
132
|
- templates/evidence.sample
|
|
130
133
|
- templates/evidence.template
|
|
@@ -150,8 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
150
153
|
- !ruby/object:Gem::Version
|
|
151
154
|
version: '0'
|
|
152
155
|
requirements: []
|
|
153
|
-
|
|
154
|
-
rubygems_version: 2.6.12
|
|
156
|
+
rubygems_version: 3.1.2
|
|
155
157
|
signing_key:
|
|
156
158
|
specification_version: 4
|
|
157
159
|
summary: Netsparker add-on for the Dradis Framework.
|
|
@@ -162,3 +164,4 @@ test_files:
|
|
|
162
164
|
- spec/fixtures/files/netsparker-localhost-demo.xml
|
|
163
165
|
- spec/fixtures/files/testsparker.xml
|
|
164
166
|
- spec/spec_helper.rb
|
|
167
|
+
- spec/vulnerability_spec.rb
|