nexposecli 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/bin/nexposecli +45 -1
- data/lib/nexposecli/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 968b4f2a9521ee6815e540d307b61cf5b2f76353
|
4
|
+
data.tar.gz: 0c4371aada7b56260ca163b473b491c5f1a7cb52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a623ecd594aee77b8f60b8be9d58a31aa2d258f2aae88b8d344529216f38bc2ef6de6cd7d348c9c3f49ac194709a3e9b0f66183ed42d826d6230bd021e2f4e9e
|
7
|
+
data.tar.gz: fc4cf08730ce9a7432ef3a5840b064dd1d2ea2984b9b24be86244d0cface69b31ca08777e5a22ed959b31e7c775c0061bfe4a2dc98fe541afb1901b54c23b25d
|
data/README.md
CHANGED
@@ -16,6 +16,14 @@ or an example of running a query to list all active scans
|
|
16
16
|
|
17
17
|
nexposecli --config ./lab.yaml --list --SCAN
|
18
18
|
|
19
|
+
how to run an adhoc sql query and export via csv
|
20
|
+
|
21
|
+
nexposecli --run --QUERY --config ./lab.yaml --logpath --sql "select * from dim_asset"
|
22
|
+
|
23
|
+
or for more complex sql queries, put the sql into a file and run
|
24
|
+
|
25
|
+
nexposecli --run --QUERY --config ./lab.yaml --sqlfile ./new_assets.sql
|
26
|
+
|
19
27
|
how to list all reports defined
|
20
28
|
|
21
29
|
nexposecli --config ./lab.yaml --list --REPORT
|
data/bin/nexposecli
CHANGED
@@ -360,6 +360,9 @@ ARGS = %q{
|
|
360
360
|
desc : The COMMAND target is only used in conjunction with the --run action
|
361
361
|
required : true
|
362
362
|
|
363
|
+
- name : QUERY
|
364
|
+
desc : The QUERY target is only used in conjunction with the --run action
|
365
|
+
|
363
366
|
- comment : EVM Action Argument Values
|
364
367
|
|
365
368
|
- name : host
|
@@ -427,6 +430,14 @@ ARGS = %q{
|
|
427
430
|
desc : The subaction to be performed within the target action
|
428
431
|
required : true
|
429
432
|
|
433
|
+
- name : sql
|
434
|
+
desc : The sql query to be executed
|
435
|
+
required : true
|
436
|
+
|
437
|
+
- name : sqlfile
|
438
|
+
desc : The file containing the sql query to be executed
|
439
|
+
required : true
|
440
|
+
|
430
441
|
- name : attempts
|
431
442
|
desc : The max number of attempts for iterative actions
|
432
443
|
required : true
|
@@ -532,8 +543,9 @@ uputs("TARGET", "Checking for the requested target")
|
|
532
543
|
@target |= 2048 if args.CONSOLE
|
533
544
|
@target |= 4096 if args.TEMPLATE
|
534
545
|
@target |= 8192 if args.ROLE
|
546
|
+
@target |= 16384 if args.QUERY
|
535
547
|
uputs("TARGET", "The requested target value is: #{@target.to_s}")
|
536
|
-
raise "You can only submit one target per task, see --help (#{@target})" unless [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192].include?(@target)
|
548
|
+
raise "You can only submit one target per task, see --help (#{@target})" unless [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384].include?(@target)
|
537
549
|
|
538
550
|
# nsc conn vars
|
539
551
|
unless (
|
@@ -1703,6 +1715,38 @@ when 8192 # TARGET ROLE
|
|
1703
1715
|
uputs("ACTION", 'The action requested is not implemented for target: ROLE')
|
1704
1716
|
puts 'The action requested is not implemented for target: ROLE'
|
1705
1717
|
end
|
1718
|
+
when 16384 # TARGET QUERY
|
1719
|
+
case @action
|
1720
|
+
when 32 # run
|
1721
|
+
uputs("ACTION", 'run QUERY action requested')
|
1722
|
+
|
1723
|
+
# Read desired sql from cli arg or file, with preference to sql arg
|
1724
|
+
sql = ""
|
1725
|
+
# EJGNOW
|
1726
|
+
if args.sql
|
1727
|
+
sql = args.sql
|
1728
|
+
elsif args.sqlfile
|
1729
|
+
if File.file?(args.sqlfile)
|
1730
|
+
sql = File.read(args.sqlfile)
|
1731
|
+
end
|
1732
|
+
else
|
1733
|
+
STDERR.puts "ERROR [ sql query is empty ]"
|
1734
|
+
exit(-1)
|
1735
|
+
end
|
1736
|
+
uputs("QUERY", "\nRunning [#{sql}]")
|
1737
|
+
|
1738
|
+
sql_config = Nexpose::AdhocReportConfig.new(nil, 'sql')
|
1739
|
+
sql_config.add_filter('version', '2.0.1')
|
1740
|
+
sql_config.add_filter('query', sql)
|
1741
|
+
|
1742
|
+
sql_output = sql_config.generate(@nsc)
|
1743
|
+
csv_output = CSV.parse(sql_output.chomp, { :headers => :first_row})
|
1744
|
+
|
1745
|
+
puts csv_output
|
1746
|
+
else
|
1747
|
+
uputs("ACTION", 'The action requested is not implemented for target: COMMAND')
|
1748
|
+
puts 'The action requested is not implemented for target: COMMAND'
|
1749
|
+
end
|
1706
1750
|
else
|
1707
1751
|
# there is no default target
|
1708
1752
|
uputs("ACTION", 'No default action requested')
|
data/lib/nexposecli/version.rb
CHANGED