dradis-burp 4.7.0 → 4.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e36138449714a89063eb970a838373c5006942431532ae0a8ac33dbb4a29b26
4
- data.tar.gz: 565c8fc0940e43b42925f292a80378dc36ced6318f5efa1e47f1f5dd1ac9446f
3
+ metadata.gz: 190762a1cb56f840eda06155d3919b77979e1600ed04fcf9250d181079cb721f
4
+ data.tar.gz: ecfad110a2d6693434a52970447590bd580563d4b33f46f346f66a940fab4b1b
5
5
  SHA512:
6
- metadata.gz: 3f63035c7ff856b3536440ee419f8f52bdf046516a2d6ab0b84222718f78f1bd73606e88849a7f410d82277236126bb6b6f5256ca8985642aebcd2e2f242cafa
7
- data.tar.gz: 06be5e8e13187cac88ebf5fabc24552c74981ce0a5dbb811aacd919197940c3b5235412cba0160509419065829ff247c00445af7e13be825d3c9d2c2ef5641b2
6
+ metadata.gz: 86a3eafbdb9bebf8be2760c831d13e6cfb532743e29d997be640027b725e8ed1d3cf6c6c571aa619969da5c19c02282a1944c1f52fd8d3dadcda2457040882f1
7
+ data.tar.gz: '030139682d837062cf3d7d26f8bb6b40bf3be1299d7301271e1e1be499f08eb055c3c769e45ba2ffae5d4b6301bf1139d2cd78d4a85f9cfbfa44c22430a19706'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ v4.9.0 (June 2023)
2
+ - Adds strong and code tags parsing
3
+
4
+ v4.8.0 (April 2023)
5
+ - No changes
6
+
1
7
  v4.7.0 (February 2023)
2
8
  - Add support for large base64 response
3
9
 
data/dradis-burp.gemspec CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'nokogiri', '~> 1.3'
29
29
 
30
30
  spec.add_development_dependency 'bundler'
31
- spec.add_development_dependency 'rake', '~> 10.0'
31
+ spec.add_development_dependency 'rake', '>= 12.3.3'
32
32
  spec.add_development_dependency 'rspec-rails'
33
33
  spec.add_development_dependency 'combustion', '~> 0.5.2'
34
34
  end
data/lib/burp/issue.rb CHANGED
@@ -36,6 +36,8 @@ module Burp
36
36
  result.gsub!(/<table>(.*?)<\/table>/m){|m| "\n\n#{ $1 }\n\n" }
37
37
  result.gsub!(/<tr>(.*?)<\/tr>/m){|m| "|#{ $1 }\n" }
38
38
  result.gsub!(/<td>(.*?)<\/td>/, '\1|')
39
+ result.gsub!(/<strong>(.*?)<\/strong>/, '*\1*')
40
+ result.gsub!(/<code>(.*?)<\/code>/, '@\1@')
39
41
 
40
42
  result
41
43
  end
@@ -8,7 +8,7 @@ module Dradis
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 4
11
- MINOR = 7
11
+ MINOR = 9
12
12
  TINY = 0
13
13
  PRE = nil
14
14
 
@@ -9,11 +9,11 @@ describe 'Burp upload plugin' do
9
9
  xml_issue = doc.xpath('issues/issue').first
10
10
  issue = Burp::Xml::Issue.new(xml_issue)
11
11
 
12
- expect{ issue.request.encode('utf-8') }.to_not raise_error
12
+ expect { issue.request.encode('utf-8') }.to_not raise_error
13
13
  end
14
14
  end
15
15
 
16
- describe Dradis::Plugins::Burp::Xml::Importer do
16
+ describe Dradis::Plugins::Burp::Xml::Importer do
17
17
  before(:each) do
18
18
  # Stub template service
19
19
  templates_dir = File.expand_path('../../templates', __FILE__)
@@ -66,9 +66,9 @@ describe 'Burp upload plugin' do
66
66
  OpenStruct.new(args)
67
67
  end.once
68
68
  expect(@content_service).to receive(:create_evidence) do |args|
69
- expect(args[:content]).to include("Lorem ipsum dolor sit amet")
69
+ expect(args[:content]).to include('Lorem ipsum dolor sit amet')
70
70
  expect(args[:issue].text).to include("#[Title]#\nIssue 1")
71
- expect(args[:node].label).to eq("10.0.0.1")
71
+ expect(args[:node].label).to eq('10.0.0.1')
72
72
  end.once
73
73
 
74
74
  expect(@content_service).to receive(:create_issue) do |args|
@@ -77,9 +77,9 @@ describe 'Burp upload plugin' do
77
77
  OpenStruct.new(args)
78
78
  end.once
79
79
  expect(@content_service).to receive(:create_evidence) do |args|
80
- expect(args[:content]).to include("Lorem ipsum dolor sit amet")
80
+ expect(args[:content]).to include('Lorem ipsum dolor sit amet')
81
81
  expect(args[:issue].text).to include("#[Title]#\nIssue 2")
82
- expect(args[:node].label).to eq("10.0.0.1")
82
+ expect(args[:node].label).to eq('10.0.0.1')
83
83
  end.once
84
84
 
85
85
  # Issue 3 is an Extension finding so we need to confirm
@@ -87,13 +87,13 @@ describe 'Burp upload plugin' do
87
87
  # and the plugin_id is not set to the Type (134217728)
88
88
  expect(@content_service).to receive(:create_issue) do |args|
89
89
  expect(args[:text]).to include("#[Title]#\nIssue 3")
90
- expect(args[:id]).to eq("Issue3")
90
+ expect(args[:id]).to eq('Issue3')
91
91
  OpenStruct.new(args)
92
92
  end.once
93
93
  expect(@content_service).to receive(:create_evidence) do |args|
94
- expect(args[:content]).to include("Lorem ipsum dolor sit amet")
94
+ expect(args[:content]).to include('Lorem ipsum dolor sit amet')
95
95
  expect(args[:issue].text).to include("#[Title]#\nIssue 3")
96
- expect(args[:node].label).to eq("10.0.0.1")
96
+ expect(args[:node].label).to eq('10.0.0.1')
97
97
  end.once
98
98
 
99
99
  expect(@content_service).to receive(:create_issue) do |args|
@@ -102,12 +102,11 @@ describe 'Burp upload plugin' do
102
102
  OpenStruct.new(args)
103
103
  end.once
104
104
  expect(@content_service).to receive(:create_evidence) do |args|
105
- expect(args[:content]).to include("Lorem ipsum dolor sit amet")
105
+ expect(args[:content]).to include('Lorem ipsum dolor sit amet')
106
106
  expect(args[:issue].text).to include("#[Title]#\nIssue 4")
107
- expect(args[:node].label).to eq("10.0.0.1")
107
+ expect(args[:node].label).to eq('10.0.0.1')
108
108
  end.once
109
109
 
110
-
111
110
  # Run the import
112
111
  @importer.import(file: 'spec/fixtures/files/burp.xml')
113
112
  end
@@ -153,7 +152,7 @@ describe 'Burp upload plugin' do
153
152
  end
154
153
  end
155
154
 
156
- describe Dradis::Plugins::Burp::Html::Importer do
155
+ describe Dradis::Plugins::Burp::Html::Importer do
157
156
  before(:each) do
158
157
  # Stub template service
159
158
  templates_dir = File.expand_path('../../templates', __FILE__)
@@ -189,7 +188,7 @@ describe 'Burp upload plugin' do
189
188
  end
190
189
  end
191
190
 
192
- it "creates nodes, issues, and evidence as needed" do
191
+ it 'creates nodes, issues, and evidence as needed' do
193
192
 
194
193
  # Host node
195
194
  #
@@ -202,14 +201,16 @@ describe 'Burp upload plugin' do
202
201
  # # create_issue should be called once for each issue in the xml
203
202
  expect(@content_service).to receive(:create_issue) do |args|
204
203
  expect(args[:text]).to include("#[Title]#\nStrict transport security not enforced")
204
+ expect(args[:text]).to include('*application*', '@Wi-Fi@')
205
205
  expect(args[:id]).to eq(16777984)
206
206
  OpenStruct.new(args)
207
207
  end.once
208
208
  expect(@content_service).to receive(:create_evidence) do |args|
209
- expect(args[:content]).to include("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
209
+ expect(args[:content]).to include('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')
210
210
  expect(args[:content]).to include("#[Location]#\nhttp://1.1.1.1/dradis/sessions")
211
211
  expect(args[:issue].text).to include("#[Title]#\nStrict transport security not enforced")
212
- expect(args[:node].label).to eq("github.com/dradis/dradis-burp")
212
+ expect(args[:issue].text).to include('*application*', '@Wi-Fi@')
213
+ expect(args[:node].label).to eq('github.com/dradis/dradis-burp')
213
214
  end.once
214
215
 
215
216
  # Run the import
@@ -208,9 +208,9 @@ div.scan_issue_medium_tentative_rpt{width: 32px; height: 32px; background-image:
208
208
  </tr>
209
209
  </table>
210
210
  <h2>Issue description</h2>
211
- <span class="TEXT"><p> The application fails to prevent users from connecting to it over unencrypted connections. An attacker able to modify a legitimate user's network traffic could bypass the application's use of SSL/TLS encryption, and use the application as a platform for attacks against its users. This attack is performed by rewriting HTTPS links as HTTP, so that if a targeted user follows a link to the site from an HTTP page, their browser never attempts to use an encrypted connection. The sslstrip tool automates this process. </p>
211
+ <span class="TEXT"><p> The <strong>application</strong> fails to prevent users from connecting to it over unencrypted connections. An attacker able to modify a legitimate user's network traffic could bypass the application's use of SSL/TLS encryption, and use the application as a platform for attacks against its users. This attack is performed by rewriting HTTPS links as HTTP, so that if a targeted user follows a link to the site from an HTTP page, their browser never attempts to use an encrypted connection. The sslstrip tool automates this process. </p>
212
212
  <p>
213
- To exploit this vulnerability, an attacker must be suitably positioned to intercept and modify the victim's network traffic.This scenario typically occurs when a client communicates with the server over an insecure connection such as public Wi-Fi, or a corporate or home network that is shared with a compromised computer. Common defenses such as switched networks are not sufficient to prevent this. An attacker situated in the user's ISP or the application's hosting infrastructure could also perform this attack. Note that an advanced adversary could potentially target any connection made over the Internet's core infrastructure. </p></span>
213
+ To exploit this vulnerability, an attacker must be suitably positioned to intercept and modify the victim's network traffic.This scenario typically occurs when a client communicates with the server over an insecure connection such as public <code>Wi-Fi</code>, or a corporate or home network that is shared with a compromised computer. Common defenses such as switched networks are not sufficient to prevent this. An attacker situated in the user's ISP or the application's hosting infrastructure could also perform this attack. Note that an advanced adversary could potentially target any connection made over the Internet's core infrastructure. </p></span>
214
214
  <h2>Issue remediation</h2>
215
215
  <span class="TEXT"><p>The application should instruct web browsers to only access the application using HTTPS. To do this, enable HTTP Strict Transport Security (HSTS) by adding a response header with the name 'Strict-Transport-Security' and the value 'max-age=expireTime', where expireTime is the time in seconds that browsers should remember that the site should only be accessed using HTTPS. Consider adding the 'includeSubDomains' flag if appropriate.</p>
216
216
  <p>Note that because HSTS is a &quot;trust on first use&quot; (TOFU) protocol, a user who has never accessed the application will never have seen the HSTS header, and will therefore still be vulnerable to SSL stripping attacks. To mitigate this risk, you can optionally add the 'preload' flag to the HSTS header, and submit the domain for review by browser vendors.</p></span>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dradis-burp
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.7.0
4
+ version: 4.9.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: 2023-02-20 00:00:00.000000000 Z
11
+ date: 2023-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dradis-plugins
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: 12.3.3
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: 12.3.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-rails
71
71
  requirement: !ruby/object:Gem::Requirement