Module: Buby::Implants::ScanQueueItem

Defined in:
lib/buby/implants/scan_queue_item.rb

Overview

This interface is used to retrieve details of items in the Burp Scanner active scan queue. Extensions can obtain references to scan queue items by calling Buby#doActiveScan.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.implant(item) ⇒ Object

Install ourselves into the current IScanQueueItem java class

Parameters:

  • item (IScanQueueItem)


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/buby/implants/scan_queue_item.rb', line 29

def self.implant(item)
  unless item.implanted? || item.nil?
    pp [:implanting, item, item.class] if $DEBUG
    item.class.class_exec(item) do |item|
      a_methods = %w{
        getIssues
      }
      a_methods.each do |meth|
        alias_method "__"+meth.to_s, meth
      end
      include Buby::Implants::ScanQueueItem
      a_methods.each do |meth|
        java_class.ruby_names_for_java_method(meth).each do |ruby_meth|
          define_method ruby_meth, Buby::Implants::ScanQueueItem.instance_method(meth)
        end
      end
      include Buby::Implants::Proxy
    end
  end
  item
end

Instance Method Details

#getIssuesArray<IScanIssue>

Note:

different items within the scan queue may contain duplicated versions of the same issues - for example, if the same request has been scanned multiple times. Duplicated issues are consolidated in the main view of scan results. Extensions can register a ScannerListener to get details only of unique, newly discovered Scanner issues post-consolidation.

This method returns details of the issues generated for the scan queue item.

Returns:

  • (Array<IScanIssue>)

    Details of the issues generated for the scan queue item.



22
23
24
# File 'lib/buby/implants/scan_queue_item.rb', line 22

def getIssues
  __getIssues.tap{|issues| Buby::ScanIssueHelper.implant issues.first}
end