Module: Ronin::Payloads::HasPayload
- Included in:
- Exploits::Exploit, Ronin::Payloads::Helpers::Chained
- Defined in:
- lib/ronin/payloads/has_payload.rb
Instance Method Summary collapse
-
#payload ⇒ Payload
The payload being used.
-
#payload=(new_payload) ⇒ Object
Sets the payload.
-
#use_payload!(query = {}) {|payloads| ... } ⇒ Payload?
Selects and uses a new payload.
-
#use_payload_class ⇒ Payload
The model to search within for acceptable payloads to use with the exploit.
-
#use_payload_from!(path) ⇒ Payload?
Loads and uses a new payload from a given path.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *arguments, &block) ⇒ Object (protected)
Relays method calls to the payload, if the payload is a kind of Ronin::Payloads::Payload.
102 103 104 105 106 107 108 |
# File 'lib/ronin/payloads/has_payload.rb', line 102 def method_missing(name,*arguments,&block) if @payload.kind_of?(Ronin::Payloads::Payload) return @payload.send(name,*arguments,&block) end super(name,*arguments,&block) end |
Instance Method Details
#payload ⇒ Payload
Returns The payload being used.
31 32 33 |
# File 'lib/ronin/payloads/has_payload.rb', line 31 def payload @payload end |
#payload=(new_payload) ⇒ Object
Sets the payload.
41 42 43 |
# File 'lib/ronin/payloads/has_payload.rb', line 41 def payload=(new_payload) @payload = new_payload end |
#use_payload!(query = {}) {|payloads| ... } ⇒ Payload?
Selects and uses a new payload.
75 76 77 |
# File 'lib/ronin/payloads/has_payload.rb', line 75 def use_payload!(query={},&block) self.payload = use_payload_class.load_first(query,&block) end |
#use_payload_class ⇒ Payload
Returns The model to search within for acceptable payloads to use with the exploit.
52 53 54 |
# File 'lib/ronin/payloads/has_payload.rb', line 52 def use_payload_class Ronin::Payloads::Payload end |
#use_payload_from!(path) ⇒ Payload?
Loads and uses a new payload from a given path.
90 91 92 |
# File 'lib/ronin/payloads/has_payload.rb', line 90 def use_payload_from!(path) self.payload = use_payload_class.load_from(path) end |