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.
- checksums.yaml +5 -13
- data/bin/jira-scan +11 -15
- data/lib/jira_scan.rb +22 -1
- metadata +12 -14
checksums.yaml
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
YzBkOGJlMzkwNzlkMjU5OWJhN2RmYTIwNzA2YTNlMzQ4OTI3NGE2Ng==
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 694f95d2a4df4f67588a35cce083c44568ab6fd6411cad9be7b778f86fdc74f7
|
|
4
|
+
data.tar.gz: a52b797b7810b69b20921a6ae539aebc070df18968ed41fb002319fce71db47b
|
|
7
5
|
SHA512:
|
|
8
|
-
metadata.gz:
|
|
9
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
125
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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:
|
|
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
|
-
|
|
70
|
-
|
|
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:
|