jira_scan 0.0.5 → 0.0.6

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.
Files changed (4) hide show
  1. checksums.yaml +5 -13
  2. data/bin/jira-scan +11 -15
  3. data/lib/jira_scan.rb +22 -1
  4. metadata +12 -14
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzE1OTJiNTg5NzIxMzdhYjgwZGU1NzQzZDY2ZTJhOWYzNjA1NTgzZA==
5
- data.tar.gz: !binary |-
6
- YzBkOGJlMzkwNzlkMjU5OWJhN2RmYTIwNzA2YTNlMzQ4OTI3NGE2Ng==
2
+ SHA256:
3
+ metadata.gz: 694f95d2a4df4f67588a35cce083c44568ab6fd6411cad9be7b778f86fdc74f7
4
+ data.tar.gz: a52b797b7810b69b20921a6ae539aebc070df18968ed41fb002319fce71db47b
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OTA2NjY0NjdiYzY0YjQzNGE0OTgzZDNkYjM4MzA0OGFhY2VkNGIzNmYzN2Y1
10
- YjNmZGE2MjRhNzZhZDUzMTZmMjA3YjkwMDEyZThiYWRlYzRhOTA5MGEyMTRj
11
- Y2ZkN2U0NWM0YjFlNDRhMDI5NzJmNTJiNGVhNGU3MGMxZDA4Yzc=
12
- data.tar.gz: !binary |-
13
- MTQxMzE2ODI2MzAxZDA5MjA3N2QxNzkyNGNjMWI1NGE0ZWQ5Y2EwN2I2NzUy
14
- ZmIxYzZmZTgyYmQ4MTcxYjNmZDY1YTQ2ZjA0ZDNmYjkwMzU0ZTRlM2FjNWJk
15
- ODRjMTM0ZmVhMzg2Yjk4MDJkOTRiMzBhYmYwYmU0OGEyYjNkZWQ=
6
+ metadata.gz: c9f02c01c0b3aff58e99d484a09eef8c30c594706d08bbb0d3197411dc038ff07dfcd6bf0ae3074eec3d7e8ac40d375a51e2ab6f8b20c5bde986e3e63fffe5cf
7
+ data.tar.gz: 39cdb3fa320f6e3dca07bf9bb3b5926eb9a1c2adfbc5ca735a05fbcd89632443d9939c51b49f8657a6f5e37f1e9cfa2b1e4d78901cd10e22b6eec461448398df
data/bin/jira-scan CHANGED
@@ -17,7 +17,7 @@ def banner
17
17
  _ | | | '__/ _` |\\___ \\ / __/ _` | '_ \\
18
18
  | |__| | | | | (_| |____) | (_| (_| | | | |
19
19
  \\____/|_|_| \\__,_|_____/ \\___\\__,_|_| |_|
20
- version 0.0.5"
20
+ version #{JiraScan::VERSION}"
21
21
  puts
22
22
  puts '-' * 60
23
23
  end
@@ -117,16 +117,16 @@ def scan(url, check: true, insecure: false, verbose: false)
117
117
  end
118
118
 
119
119
  # Dev mode enabled
120
- dev_mode = JiraScan::devMode(url)
121
- puts '+ Dev mode is enabled' if dev_mode
120
+ puts '+ Dev mode is enabled' if JiraScan::devMode(url)
122
121
 
123
122
  # User registration enabled
124
- register = JiraScan::userRegistration(url)
125
- puts '+ User registration is enabled' if register
123
+ puts '+ User registration is enabled' if JiraScan::userRegistration(url)
124
+
125
+ # Service Desk user registration enabled
126
+ puts '+ Service Desk user registration is enabled' if JiraScan::userServiceDeskRegistration(url)
126
127
 
127
128
  # Check if User Picker Browser is accessible
128
- user_picker = JiraScan::userPickerBrowser(url)
129
- if user_picker
129
+ if JiraScan::userPickerBrowser(url)
130
130
  puts '+ User Picker Browser is available'
131
131
  # Retrieve list of first 1,000 users
132
132
  users = JiraScan::getUsersFromUserPickerBrowser(url)
@@ -138,20 +138,16 @@ def scan(url, check: true, insecure: false, verbose: false)
138
138
  end
139
139
 
140
140
  # Check if REST User Picker is accessible
141
- rest_user_picker = JiraScan::restUserPicker(url)
142
- puts "+ REST UserPicker is available" if rest_user_picker
141
+ puts "+ REST UserPicker is available" if JiraScan::restUserPicker(url)
143
142
 
144
143
  # Check if REST Group User Picker is accessible
145
- rest_group_user_picker = JiraScan::restGroupUserPicker(url)
146
- puts "+ REST GroupUserPicker is available" if rest_group_user_picker
144
+ puts "+ REST GroupUserPicker is available" if JiraScan::restGroupUserPicker(url)
147
145
 
148
146
  # Check if ViewUserHover.jspa is accessible
149
- view_user_hover = JiraScan::viewUserHover(url)
150
- puts "+ ViewUserHover.jspa is available" if view_user_hover
147
+ puts "+ ViewUserHover.jspa is available" if JiraScan::viewUserHover(url)
151
148
 
152
149
  # Check if META-INF contents are accessible
153
- meta_inf = JiraScan::metaInf(url)
154
- puts '+ META-INF directory contents are accessible' if meta_inf
150
+ puts '+ META-INF directory contents are accessible' if JiraScan::metaInf(url)
155
151
 
156
152
  # Retrieve list of dashboards
157
153
  dashboards = JiraScan::getDashboards(url)
data/lib/jira_scan.rb CHANGED
@@ -9,9 +9,10 @@ require 'json'
9
9
  require 'logger'
10
10
  require 'net/http'
11
11
  require 'openssl'
12
+ require 'stringio'
12
13
 
13
14
  class JiraScan
14
- VERSION = '0.0.5'.freeze
15
+ VERSION = '0.0.6'.freeze
15
16
 
16
17
  def self.logger
17
18
  @logger
@@ -154,6 +155,7 @@ class JiraScan
154
155
 
155
156
  #
156
157
  # Check if account registration is enabled
158
+ # https://docs.atlassian.com/jira/jsd-docs-045/Configuring+public+signup
157
159
  #
158
160
  # @param [String] URL
159
161
  #
@@ -169,6 +171,25 @@ class JiraScan
169
171
  res.body.to_s.include?('<h1>Sign up</h1>')
170
172
  end
171
173
 
174
+ #
175
+ # Check if Jira Service Desk (part of Jira Service Management) account registration is enabled
176
+ # https://docs.atlassian.com/jira/jsd-docs-045/Configuring+public+signup
177
+ # https://support.atlassian.com/jira-service-management-cloud/docs/customer-permissions-for-your-service-project-and-jira-site/
178
+ #
179
+ # @param [String] URL
180
+ #
181
+ # @return [Boolean]
182
+ #
183
+ def self.userServiceDeskRegistration(url)
184
+ url += '/' unless url.to_s.end_with? '/'
185
+ res = sendHttpRequest("#{url}servicedesk/customer/user/signup")
186
+
187
+ return false unless res
188
+ return false unless res.code.to_i == 200
189
+
190
+ res.body.to_s.include?('serviceDeskVersion') || res.body.to_s.include?('com.atlassian.servicedesk')
191
+ end
192
+
172
193
  #
173
194
  # Check if unauthenticated access to UserPickerBrowser.jspa is allowed
174
195
  #
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jira_scan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brendan Coles
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-10 00:00:00.000000000 Z
11
+ date: 2023-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: terminal-table
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: logger
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.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
40
  version: '1.4'
41
41
  description: A simple remote scanner for Atlassian Jira
@@ -51,25 +51,23 @@ homepage: https://github.com/bcoles/jira_scan
51
51
  licenses:
52
52
  - MIT
53
53
  metadata: {}
54
- post_install_message:
54
+ post_install_message:
55
55
  rdoc_options: []
56
56
  require_paths:
57
57
  - lib
58
58
  required_ruby_version: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ! '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: 2.0.0
63
63
  required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ! '>='
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubyforge_project:
70
- rubygems_version: 2.2.2
71
- signing_key:
69
+ rubygems_version: 3.3.15
70
+ signing_key:
72
71
  specification_version: 4
73
72
  summary: Jira scanner
74
73
  test_files: []
75
- has_rdoc: