Land #7863, address tlv enum consistency (and add spec!)
commit
53af3f286e
|
@ -509,7 +509,7 @@ class ClientCore < Extension
|
||||||
end
|
end
|
||||||
|
|
||||||
request.add_tlv( TLV_TYPE_MIGRATE_PID, target_pid )
|
request.add_tlv( TLV_TYPE_MIGRATE_PID, target_pid )
|
||||||
request.add_tlv( TLV_TYPE_MIGRATE_PAYLOAD_LEN, migrate_payload.length )
|
request.add_tlv( TLV_TYPE_MIGRATE_LEN, migrate_payload.length )
|
||||||
request.add_tlv( TLV_TYPE_MIGRATE_PAYLOAD, migrate_payload, false, client.capabilities[:zlib])
|
request.add_tlv( TLV_TYPE_MIGRATE_PAYLOAD, migrate_payload, false, client.capabilities[:zlib])
|
||||||
request.add_tlv( TLV_TYPE_MIGRATE_STUB_LEN, migrate_stub.length )
|
request.add_tlv( TLV_TYPE_MIGRATE_STUB_LEN, migrate_stub.length )
|
||||||
request.add_tlv( TLV_TYPE_MIGRATE_STUB, migrate_stub, false, client.capabilities[:zlib])
|
request.add_tlv( TLV_TYPE_MIGRATE_STUB, migrate_stub, false, client.capabilities[:zlib])
|
||||||
|
|
|
@ -80,7 +80,7 @@ TLV_TYPE_EXCEPTION_STRING = TLV_META_TYPE_STRING | 301
|
||||||
TLV_TYPE_LIBRARY_PATH = TLV_META_TYPE_STRING | 400
|
TLV_TYPE_LIBRARY_PATH = TLV_META_TYPE_STRING | 400
|
||||||
TLV_TYPE_TARGET_PATH = TLV_META_TYPE_STRING | 401
|
TLV_TYPE_TARGET_PATH = TLV_META_TYPE_STRING | 401
|
||||||
TLV_TYPE_MIGRATE_PID = TLV_META_TYPE_UINT | 402
|
TLV_TYPE_MIGRATE_PID = TLV_META_TYPE_UINT | 402
|
||||||
TLV_TYPE_MIGRATE_PAYLOAD_LEN = TLV_META_TYPE_UINT | 403
|
TLV_TYPE_MIGRATE_LEN = TLV_META_TYPE_UINT | 403
|
||||||
TLV_TYPE_MIGRATE_PAYLOAD = TLV_META_TYPE_STRING | 404
|
TLV_TYPE_MIGRATE_PAYLOAD = TLV_META_TYPE_STRING | 404
|
||||||
TLV_TYPE_MIGRATE_ARCH = TLV_META_TYPE_UINT | 405
|
TLV_TYPE_MIGRATE_ARCH = TLV_META_TYPE_UINT | 405
|
||||||
TLV_TYPE_MIGRATE_BASE_ADDR = TLV_META_TYPE_UINT | 407
|
TLV_TYPE_MIGRATE_BASE_ADDR = TLV_META_TYPE_UINT | 407
|
||||||
|
@ -195,7 +195,7 @@ class Tlv
|
||||||
when TLV_TYPE_LIBRARY_PATH; "LIBRARY-PATH"
|
when TLV_TYPE_LIBRARY_PATH; "LIBRARY-PATH"
|
||||||
when TLV_TYPE_TARGET_PATH; "TARGET-PATH"
|
when TLV_TYPE_TARGET_PATH; "TARGET-PATH"
|
||||||
when TLV_TYPE_MIGRATE_PID; "MIGRATE-PID"
|
when TLV_TYPE_MIGRATE_PID; "MIGRATE-PID"
|
||||||
when TLV_TYPE_MIGRATE_PAYLOAD_LEN; "MIGRATE-PAYLOAD-LEN"
|
when TLV_TYPE_MIGRATE_LEN; "MIGRATE-LEN"
|
||||||
when TLV_TYPE_MIGRATE_PAYLOAD; "MIGRATE-PAYLOAD"
|
when TLV_TYPE_MIGRATE_PAYLOAD; "MIGRATE-PAYLOAD"
|
||||||
when TLV_TYPE_MIGRATE_ARCH; "MIGRATE-ARCH"
|
when TLV_TYPE_MIGRATE_ARCH; "MIGRATE-ARCH"
|
||||||
when TLV_TYPE_MIGRATE_BASE_ADDR; "MIGRATE-BASE-ADDR"
|
when TLV_TYPE_MIGRATE_BASE_ADDR; "MIGRATE-BASE-ADDR"
|
||||||
|
|
|
@ -81,6 +81,27 @@ RSpec.describe Rex::Post::Meterpreter::Tlv do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "Any non group TLV_TYPE" do
|
||||||
|
subject(:tlv_types){
|
||||||
|
excludedTypes = ["TLV_TYPE_ANY", "TLV_TYPE_EXCEPTION", "TLV_TYPE_CHANNEL_DATA_GROUP", "TLV_TYPE_TRANS_GROUP", "TLV_TYPE_CIPHER_PARAMETERS"]
|
||||||
|
typeList = []
|
||||||
|
Rex::Post::Meterpreter.constants.each do |type|
|
||||||
|
typeList << type.to_s if type.to_s.include?("TLV_TYPE") && !excludedTypes.include?(type.to_s)
|
||||||
|
end
|
||||||
|
typeList
|
||||||
|
}
|
||||||
|
|
||||||
|
it "will not raise error on inspect" do
|
||||||
|
tlv_types.each do |type|
|
||||||
|
inspectable = Rex::Post::Meterpreter::Tlv.new(
|
||||||
|
Rex::Post::Meterpreter.const_get(type),
|
||||||
|
"test"
|
||||||
|
)
|
||||||
|
expect(inspectable.inspect).to be_a_kind_of String
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "#to_r" do
|
context "#to_r" do
|
||||||
it "should return the raw bytes of the TLV to send over the wire" do
|
it "should return the raw bytes of the TLV to send over the wire" do
|
||||||
tlv_bytes = "\x00\x00\x00\r\x00\x01\x00\ntest\x00"
|
tlv_bytes = "\x00\x00\x00\r\x00\x01\x00\ntest\x00"
|
||||||
|
|
Loading…
Reference in New Issue