dradis-burp 3.19.0 → 3.20.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2b4b8bdaf8da575ef3f15de612a85d43f4400811306de8fde2955001b4dbc21
4
- data.tar.gz: 7102211128794fe2a6abd210bd76b4c89456731a4a4199661b15a4db7160af2a
3
+ metadata.gz: 8f71b741a300650b68fb4e479139f8ba6331489e360d0b6d8afb6efe83c85652
4
+ data.tar.gz: 86d549704e91b887b00ead3c0d10939caf7eaad1a6aac22e15113702662d5bed
5
5
  SHA512:
6
- metadata.gz: ac25b69093399bfd453a500bf19e75a57fc56ec146e34f875f1737b9481fca961e5edc4eabb8bf1860b718dedecd1efb4882e15f6b41db9bac6f67a90e0c080d
7
- data.tar.gz: 61e8a46ac255f3884d19ad16525861c94088275e67d73732282b8d586d647f3d12f3d366c2cc3c898ebba656f146352179417bc997dcebfee5f798a9bb7da33b
6
+ metadata.gz: 45b5a6a5a25eff76f2cc295cad4c303214f2982900ad56630640e3ae21c84d04406f72f10c35712c6080d70124d40fa462ce3af0f1a3a84e3050fffa490198a4
7
+ data.tar.gz: 815997dbb84a517d2256f9e37d537685034972dc72802cfea0c6dc5342b6c5859030aebbe8a409e0f7d494cf3500fcc114d3fc92841bab940e1a289af806dffb
@@ -1,3 +1,9 @@
1
+ ## Dradis Framework 3.20 (December, 2020) ##
2
+
3
+ * Convert highlighted HTML code to Dradis highlight format
4
+ * Make `issue.detail` available at the Evidence level for HTML uploads.
5
+ * Make `issue.location` available at the HTML Evidence level.
6
+
1
7
  ## Dradis Framework 3.19 (September, 2020) ##
2
8
 
3
9
  * No changes.
@@ -19,7 +19,7 @@ module Burp
19
19
  :name, :type,
20
20
 
21
21
  # tags with contents retrieved following the span header
22
- :background, :detail,
22
+ :background, :detail, :location,
23
23
  :references, :remediation_background, :remediation_detail,
24
24
  :request, :request_1, :request_2, :request_3,
25
25
  :response, :response_1, :response_2, :response_3,
@@ -84,6 +84,19 @@ module Burp
84
84
  method_names = translations_table.fetch(method, method.to_s)
85
85
  method_names = [method_names].flatten
86
86
 
87
+ # Process the Location field
88
+ if method.to_s == 'location'
89
+ location = @html.at_xpath('/html/body/span[contains(@class, "BODH1")]')&.text
90
+
91
+ if location
92
+ # Remove the header number from the text.
93
+ # E.g. <span class="BODH1" id="1.1">1.1.&nbsp;/sample/text/</span>
94
+ return location.split(/[[:space:]]/).drop(1).join(' ')
95
+ else
96
+ return 'n/a'
97
+ end
98
+ end
99
+
87
100
  h2 = nil
88
101
  method_names.each do |method_name|
89
102
  h2 = @html.xpath("//h2[text()='#{method_name}']").first
@@ -113,6 +126,9 @@ module Burp
113
126
  def cleanup_request_response_html(source)
114
127
  result = source.dup
115
128
 
129
+ # Highlight code
130
+ result.gsub!(/<span class="HIGHLIGHT">(.+?)<\/span>/, '$${{\1}}$$')
131
+
116
132
  result.gsub!(/<b>(.*?)<\/b>/, '\1')
117
133
  result.gsub!(/<br>|<\/br>/){"\n"}
118
134
  result.gsub!(/<span.*?>/, '')
@@ -8,7 +8,7 @@ module Dradis
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 3
11
- MINOR = 19
11
+ MINOR = 20
12
12
  TINY = 0
13
13
  PRE = nil
14
14
 
@@ -114,11 +114,10 @@ describe 'Burp upload plugin' do
114
114
 
115
115
  it 'returns the highest <severity> at the Issue level' do
116
116
 
117
- # create_issue should be called once for each issue in the xml
118
117
  expect(@content_service).to receive(:create_issue) do |args|
119
118
  expect(args[:id]).to eq(8781630)
120
119
  expect(args[:text]).to include("#[Title]#\nIssue 1")
121
- expect(args[:text]).to include("#[Severity]#\nCritical")
120
+ expect(args[:text]).to include("#[Severity]#\nInformation")
122
121
  OpenStruct.new(args)
123
122
  end
124
123
 
@@ -129,23 +128,23 @@ describe 'Burp upload plugin' do
129
128
  end.once
130
129
  expect(@content_service).to receive(:create_evidence) do |args|
131
130
  expect(args[:content]).to include("#[Severity]#\nHigh")
132
- expect(args[:issue].text).to include("#[Title]#\nIssue 1")
131
+ expect(args[:issue].text).to include("#[Title]#\nIssue 2")
133
132
  expect(args[:node].label).to eq('10.0.0.1')
134
133
  OpenStruct.new(args)
135
134
  end.once
136
135
  expect(@content_service).to receive(:create_evidence) do |args|
137
136
  expect(args[:content]).to include("#[Severity]#\nMedium")
138
- expect(args[:issue].text).to include("#[Title]#\nIssue 1")
137
+ expect(args[:issue].text).to include("#[Title]#\nIssue 3")
139
138
  expect(args[:node].label).to eq('10.0.0.1')
140
139
  end.once
141
140
  expect(@content_service).to receive(:create_evidence) do |args|
142
- expect(args[:content]).to include("#[Severity]#\nCritical")
143
- expect(args[:issue].text).to include("#[Title]#\nIssue 1")
141
+ expect(args[:content]).to include("#[Severity]#\nHigh")
142
+ expect(args[:issue].text).to include("#[Title]#\nIssue 4")
144
143
  expect(args[:node].label).to eq('10.0.0.1')
145
144
  end.once
146
145
  expect(@content_service).to receive(:create_evidence) do |args|
147
146
  expect(args[:content]).to include("#[Severity]#\nLow")
148
- expect(args[:issue].text).to include("#[Title]#\nIssue 1")
147
+ expect(args[:issue].text).to include("#[Title]#\nIssue 5")
149
148
  expect(args[:node].label).to eq('10.0.0.1')
150
149
  end.once
151
150
 
@@ -208,6 +207,7 @@ describe 'Burp upload plugin' do
208
207
  end.once
209
208
  expect(@content_service).to receive(:create_evidence) do |args|
210
209
  expect(args[:content]).to include("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
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
212
  expect(args[:node].label).to eq("github.com/dradis/dradis-burp")
213
213
  end.once
@@ -179,8 +179,13 @@ div.scan_issue_medium_tentative_rpt{width: 32px; height: 32px; background-image:
179
179
  <div class="rule"></div>
180
180
  <h1>Contents</h1>
181
181
  <p class="TOCH0"><a href="#1">1.&nbsp;Strict transport security not enforced</a></p>
182
+ <p class="TOCH1"><a href="#1.1">1.1.&nbsp;http://1.1.1.1/dradis/sessions</a></p>
182
183
  <br><div class="rule"></div>
183
184
  <span class="BODH0" id="1">1.&nbsp;<a href="https://portswigger.net/knowledgebase/issues/details/01000300_stricttransportsecuritynotenforced">Strict transport security not enforced</a></span>
185
+ <br><span class="TEXT">There are 1 instances of this issue:
186
+ <ul>
187
+ <li><a href="#1.1">/dradis/sessions</a></li>
188
+ </ul></span>
184
189
  <br>
185
190
  <h2>Summary</h2>
186
191
  <table cellpadding="0" cellspacing="0" class="summary_table">
@@ -218,6 +223,33 @@ To exploit this vulnerability, an attacker must be suitably positioned to interc
218
223
  <h2>Vulnerability classifications</h2><span class="TEXT"><ul>
219
224
  <li><a href="https://cwe.mitre.org/data/definitions/523.html">CWE-523: Unprotected Transport of Credentials</a></li>
220
225
  </ul></span>
226
+ <br><div class="rule"></div>
227
+ <span class="BODH1" id="2.1">1.1.&nbsp;http://1.1.1.1/dradis/sessions</span>
228
+ <br><a class="PREVNEXT" href="#2.2">Next</a>
229
+ <br>
230
+ <h2>Summary</h2>
231
+ <table cellpadding="0" cellspacing="0" class="summary_table">
232
+ <tr>
233
+ <td rowspan="4" class="icon" valign="top" align="center"><div class='scan_issue_high_certain_rpt'></div></td>
234
+ <td>Severity:&nbsp;&nbsp;</td>
235
+ <td><b>High</b></td>
236
+ </tr>
237
+ <tr>
238
+ <td>Confidence:&nbsp;&nbsp;</td>
239
+ <td><b>Certain</b></td>
240
+ </tr>
241
+ <tr>
242
+ <td>Host:&nbsp;&nbsp;</td>
243
+ <td><b>http://1.1.1.1</b></td>
244
+ </tr>
245
+ <tr>
246
+ <td>Path:&nbsp;&nbsp;</td>
247
+ <td><b>/dradis/sessions</b></td>
248
+ </tr>
249
+ </table>
250
+ <h2>Issue detail</h2>
251
+ <span class="TEXT">The page contains a form with the following action URL, which is submitted over clear-text HTTP:<ul><li>http://1.1.1.1/dradis/sessions</li></ul>The form contains the following password field:<ul><li>session[password]</li></ul></span>
252
+
221
253
  <h2>Request</h2>
222
254
  <div class="rr_div"><span>GET / HTTP/1.1<br>Host: github.com/dradis/dradis-burp<br>User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:66.0) Gecko/20100101 Firefox/66.0<br>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<br>Accept-Language: en,es-ES;q=0.8,es;q=0.5,en-US;q=0.3<br>Accept-Encoding: gzip, deflate<br>Connection: close<br>Cookie: hpage=1; AMCV_2387401053DB208C0A490D4C%40AdobeOrg=-1891778711%7CMCIDTS%7C17970%7CMCMID%7C21612935572021633722025223033275851039%7CMCAAMLH-1553169173%7C6%7CMCAAMB-1553169173%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1552571573s%7CNONE%7CMCAID%7CNONE%7CvVersion%7C2.4.0; uid=W9g/8Fux09NcLDHUBLt6Ag==#b4a7fa78e6c4983b02b41f0c993c2043; uid_ns=W9g/8Fux09NcLDHUBLt6Ag==; dtm_dds=3/14/2019%7C; s_lv=1538401711844; asaleatorio=v6|NO; _cb_ls=1; _cb=CHsEZNVjLgK9Eh3g; _chartbeat2=.1538380775140.1552564528405.0000000000000001.DULUU_5XcVyr-M7oTDU5YBMxsZ0.2; __gads=ID=06fd97433187c959:T=1538380762:S=ALNI_MZNHKQ5IoHIQX9fc91pDzlf7PDN4g; pbsconsent=BOU8kdHOU8kdHABABAENBq-AAAAht7_______9______9uz_Gv_v_f__33e8__9v_l_7_-___u_-33d4-_1vX99yfm1-7ftr3tp_86ues2_Xur_959_-njE; _v__chartbeat3=ChrB4_B73EobCceMDU; kppid=W9g/8Fux09NcLDHUBLt6Ag==; assegmento=v14|#feminismo; asnumdisplays=v14|1; aslastdisplay=v14|1552564374379; _fbp=fb.1.1552564376436.938848531; hst=1552520446_153124; cto_lwid=a6243aac-07e7-4c94-b258-b67ada2611d6; cto_idcpy=fec01c29-01e9-4fa7-b32d-b9ca0b82f535<br>Upgrade-Insecure-Requests: 1<br><br></span></div>
223
255
  <h2>Response</h2>
@@ -1,8 +1,8 @@
1
+ issue.confidence
2
+ issue.detail
1
3
  issue.host
2
- issue.path
3
4
  issue.location
4
- issue.severity
5
- issue.confidence
5
+ issue.path
6
6
  issue.request
7
7
  issue.request_1
8
8
  issue.request_2
@@ -11,3 +11,4 @@ issue.response
11
11
  issue.response_1
12
12
  issue.response_2
13
13
  issue.response_3
14
+ issue.severity
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: 3.19.0
4
+ version: 3.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Martin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-04 00:00:00.000000000 Z
11
+ date: 2021-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dradis-plugins
@@ -145,7 +145,7 @@ homepage: http://dradisframework.org
145
145
  licenses:
146
146
  - GPL-2
147
147
  metadata: {}
148
- post_install_message:
148
+ post_install_message:
149
149
  rdoc_options: []
150
150
  require_paths:
151
151
  - lib
@@ -160,8 +160,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  requirements: []
163
- rubygems_version: 3.0.1
164
- signing_key:
163
+ rubygems_version: 3.2.4
164
+ signing_key:
165
165
  specification_version: 4
166
166
  summary: Burp Scanner upload plugin for the Dradis Framework.
167
167
  test_files: