nexpose 7.0.1 → 7.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/Gemfile.lock +1 -1
- data/README.markdown +2 -0
- data/lib/nexpose/maint.rb +23 -2
- data/lib/nexpose/scan.rb +4 -2
- data/lib/nexpose/site.rb +3 -1
- data/lib/nexpose/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59f070e8c264d2a89412a6fc5ab76fc6c381aced
|
4
|
+
data.tar.gz: a18e65e39dc9af8eeed11bf9dc9def359530041d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cce4d28b939fd0802867eba5cd7658a71ef9e324223435c589ae95ca8e8ff43cd64bfce4289e43204dc2d43d529215492a751710e17d835914731fb0ca2f661c
|
7
|
+
data.tar.gz: 2e93edccb2e6161c2bd314602bfe3217bc0c613db80d734342f4613ad54bec9c4a4afb63130d47b912f2073ca84cdf03b3b97fa525ae2a2d64ade58df02ee65e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,35 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [Unreleased](https://github.com/rapid7/nexpose-client/tree/HEAD)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/rapid7/nexpose-client/compare/v7.0.1...HEAD)
|
6
|
+
|
7
|
+
**Fixed bugs:**
|
8
|
+
|
9
|
+
- nsc.list\_vuln\_exceptions does not return site\_id as documented [\#250](https://github.com/rapid7/nexpose-client/issues/250)
|
10
|
+
|
11
|
+
**Closed issues:**
|
12
|
+
|
13
|
+
- support for encryption for recovery [\#290](https://github.com/rapid7/nexpose-client/issues/290)
|
14
|
+
- Connection Timeout When Creating DynamicAssetGroup with large number of criteria [\#274](https://github.com/rapid7/nexpose-client/issues/274)
|
15
|
+
- Vulnerability Exception 'approve' function applies vulnerability exception but throws a ruby exception [\#271](https://github.com/rapid7/nexpose-client/issues/271)
|
16
|
+
- Add a global timeout parameter to Connection [\#269](https://github.com/rapid7/nexpose-client/issues/269)
|
17
|
+
- Update Example Scripts [\#244](https://github.com/rapid7/nexpose-client/issues/244)
|
18
|
+
|
19
|
+
**Merged pull requests:**
|
20
|
+
|
21
|
+
- adding the ability to include a password when restoring a backup [\#298](https://github.com/rapid7/nexpose-client/pull/298) ([sgreen-r7](https://github.com/sgreen-r7))
|
22
|
+
- Allow for Starting Scan during Blackout [\#297](https://github.com/rapid7/nexpose-client/pull/297) ([sgreen-r7](https://github.com/sgreen-r7))
|
23
|
+
|
24
|
+
## [v7.0.1](https://github.com/rapid7/nexpose-client/tree/v7.0.1) (2017-09-11)
|
25
|
+
[Full Changelog](https://github.com/rapid7/nexpose-client/compare/v7.0.0...v7.0.1)
|
26
|
+
|
27
|
+
**Merged pull requests:**
|
28
|
+
|
29
|
+
- Only Cleanup!! v3 [\#295](https://github.com/rapid7/nexpose-client/pull/295) ([sgreen-r7](https://github.com/sgreen-r7))
|
30
|
+
- Revert "Only Cleanup!" [\#293](https://github.com/rapid7/nexpose-client/pull/293) ([sgreen-r7](https://github.com/sgreen-r7))
|
31
|
+
- Only Cleanup! [\#292](https://github.com/rapid7/nexpose-client/pull/292) ([sgreen-r7](https://github.com/sgreen-r7))
|
32
|
+
|
3
33
|
## [v7.0.0](https://github.com/rapid7/nexpose-client/tree/v7.0.0) (2017-08-31)
|
4
34
|
[Full Changelog](https://github.com/rapid7/nexpose-client/compare/v6.1.1...v7.0.0)
|
5
35
|
|
data/Gemfile.lock
CHANGED
data/README.markdown
CHANGED
@@ -15,6 +15,8 @@ Since version 1.0 nexpose-client uses [Semantic Versioning](http://semver.org/).
|
|
15
15
|
|
16
16
|
Release notes are available on the [Releases](https://github.com/rapid7/nexpose-client/releases) page.
|
17
17
|
|
18
|
+
The full Changelog is available as well, on the [Changelog](https://github.com/rapid7/nexpose-client/blob/master/CHANGELOG.md) page.
|
19
|
+
|
18
20
|
## Contributions
|
19
21
|
|
20
22
|
We welcome contributions to this package. Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
|
data/lib/nexpose/maint.rb
CHANGED
@@ -96,12 +96,15 @@ module Nexpose
|
|
96
96
|
# It will restart the console after acknowledging receiving the request.
|
97
97
|
#
|
98
98
|
# @param [Connection] nsc An active connection to a Nexpose console.
|
99
|
+
# @param [String] (Optional) The password to use when restoring the backup.
|
99
100
|
# @return [Boolean] Whether the request was received.
|
100
101
|
#
|
101
|
-
def restore(nsc)
|
102
|
+
def restore(nsc, password = nil)
|
103
|
+
raise 'Supplied Password is incorrect for restoring this Backup.' if invalid_backup_password?(nsc, password)
|
102
104
|
parameters = { 'backupid' => @name,
|
103
105
|
'cmd' => 'restore',
|
104
|
-
'targetTask' => 'backupRestore'
|
106
|
+
'targetTask' => 'backupRestore',
|
107
|
+
'password' => password }
|
105
108
|
xml = AJAX.form_post(nsc, '/admin/global/maintenance/maintCmd.txml', parameters)
|
106
109
|
if !!(xml =~ /succeded="true"/)
|
107
110
|
nsc._maintenance_restart
|
@@ -129,5 +132,23 @@ module Nexpose
|
|
129
132
|
hash['Platform-Independent'],
|
130
133
|
hash['Size'])
|
131
134
|
end
|
135
|
+
|
136
|
+
private
|
137
|
+
|
138
|
+
def invalid_backup_password?(nsc, password)
|
139
|
+
!correct_backup_password?(nsc, password) if backup_need_password?(nsc)
|
140
|
+
end
|
141
|
+
|
142
|
+
def backup_need_password?(nsc)
|
143
|
+
resp = Nexpose::AJAX.get(nsc, '/data/admin/backups/password', Nexpose::AJAX::CONTENT_TYPE::JSON, 'backupID' => name)
|
144
|
+
resp == 'true'
|
145
|
+
end
|
146
|
+
|
147
|
+
def correct_backup_password?(nsc, password)
|
148
|
+
raise 'This Backup file requires a Password. Please include a password during the restore command.' if password.nil?
|
149
|
+
resp = Nexpose::AJAX.post(nsc, "/data/admin/backups/password?backupID=#{name}&password=#{password}", nil, Nexpose::AJAX::CONTENT_TYPE::JSON)
|
150
|
+
resp == 'true'
|
151
|
+
end
|
152
|
+
|
132
153
|
end
|
133
154
|
end
|
data/lib/nexpose/scan.rb
CHANGED
@@ -196,10 +196,12 @@ module Nexpose
|
|
196
196
|
# Initiate a site scan.
|
197
197
|
#
|
198
198
|
# @param [Fixnum] site_id Site ID to scan.
|
199
|
+
# @param [Boolean] blackout_override Optional. Given suffencent permissions, force bypass blackout and start scan.
|
199
200
|
# @return [Scan] Scan launch information.
|
200
201
|
#
|
201
|
-
def scan_site(site_id)
|
202
|
-
xml
|
202
|
+
def scan_site(site_id, blackout_override = false)
|
203
|
+
xml = make_xml('SiteScanRequest', 'site-id' => site_id)
|
204
|
+
xml.add_attributes({ 'force' => true }) if blackout_override
|
203
205
|
response = execute(xml)
|
204
206
|
Scan.parse(response.res) if response.success
|
205
207
|
end
|
data/lib/nexpose/site.rb
CHANGED
@@ -540,14 +540,16 @@ module Nexpose
|
|
540
540
|
#
|
541
541
|
# @param [Connection] connection Connection to console where scan will be launched.
|
542
542
|
# @param [String] sync_id Optional synchronization token.
|
543
|
+
# @param [Boolean] blackout_override Optional. Given suffencent permissions, force bypass blackout and start scan.
|
543
544
|
# @return [Scan] Scan launch information.
|
544
545
|
#
|
545
|
-
def scan(connection, sync_id = nil)
|
546
|
+
def scan(connection, sync_id = nil, blackout_override = false)
|
546
547
|
xml = REXML::Element.new('SiteScanRequest')
|
547
548
|
xml.add_attributes({ 'session-id' => connection.session_id,
|
548
549
|
'site-id' => @id,
|
549
550
|
'sync-id' => sync_id })
|
550
551
|
|
552
|
+
xml.add_attributes({ 'force' => true }) if blackout_override
|
551
553
|
response = connection.execute(xml, '1.1', timeout: 60)
|
552
554
|
Scan.parse(response.res) if response.success
|
553
555
|
end
|
data/lib/nexpose/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nexpose
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HD Moore
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2017-09-
|
16
|
+
date: 2017-09-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: bundler
|