Module: Msf::DBManager::Import::Appscan

Included in:
Msf::DBManager::Import
Defined in:
lib/msf/core/db_manager/import/appscan.rb

Instance Method Summary collapse

Instance Method Details

#import_appscan_noko_stream(args = {}, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/msf/core/db_manager/import/appscan.rb', line 3

def import_appscan_noko_stream(args={},&block)
  if block
    doc = Rex::Parser::AppscanDocument.new(args,framework.db) {|type, data| yield type,data }
  else
    doc = Rex::Parser::AppscanDocument.new(args,self)
  end
  parser = ::Nokogiri::XML::SAX::Parser.new(doc)
  parser.parse(args[:data])
end

#import_appscan_xml(args = {}, &block) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/msf/core/db_manager/import/appscan.rb', line 13

def import_appscan_xml(args={}, &block)
  bl = validate_ips(args[:blacklist]) ? args[:blacklist].split : []
  wspace = Msf::Util::DBManager.process_opts_workspace(args, framework).name
  if Rex::Parser.nokogiri_loaded
    parser = "Nokogiri v#{::Nokogiri::VERSION}"
    noko_args = args.dup
    noko_args[:blacklist] = bl
    noko_args[:workspace] = wspace
    if block
      yield(:parser, parser)
      import_appscan_noko_stream(noko_args) {|type, data| yield type,data}
    else
      import_appscan_noko_stream(noko_args)
    end
    return true
  else # Sorry
    raise Msf::DBImportError.new("Could not import due to missing Nokogiri parser. Try 'gem install nokogiri'.")
  end
end