Class: Buby::IntruderPayloadProcessor

Inherits:
Object
  • Object
show all
Includes:
Java::Burp::IIntruderPayloadProcessor
Defined in:
lib/buby/intruder_payload_processor.rb

Overview

TODO:

voodoo function wrapping?

Extensions can implement this interface and then call #registerIntruderPayloadProcessor to register a custom Intruder payload processor.

Instance Method Summary collapse

Instance Method Details

#getProcessorNameString

This method is used by Burp to obtain the name of the payload processor. This will be displayed as an option within the Intruder UI when the user selects to use an extension-provided payload processor.

Returns:

  • (String)

    The name of the payload processor.



16
# File 'lib/buby/intruder_payload_processor.rb', line 16

def getProcessorName; self.class.name; end

#processPayload(currentPayload, originalPayload, baseValue) ⇒ Object

Deprecated.

This will become a raw version/proxied version pair like ContextMenuFactory#createMenuItems in 2.0.

This method is invoked by Burp each time the processor should be applied to an Intruder payload.

Parameters:

  • currentPayload (Array[byte])

    The value of the payload to be processed.

  • originalPayload (Array[byte])

    The value of the original payload prior to processing by any already-applied processing rules.

  • baseValue (Array[byte])

    The base value of the payload position, which will be replaced with the current payload.

Returns:

  • The value of the processed payload. This may be nil to indicate that the current payload should be skipped, and the attack will move directly to the next payload.



32
33
34
35
36
37
# File 'lib/buby/intruder_payload_processor.rb', line 32

def processPayload(currentPayload, originalPayload, baseValue)
  currentPayload = String.from_java_bytes currentPayload
  originalPayload = String.from_java_bytes originalPayload
  baseValue = String.from_java_bytes baseValue
  nil
end