Fix "failed to generate" error when passing a preferred encoder to "payload.generate" method using RPC from, for example, the GUI on Windows.
framework.encoders[reqs['Encoder']] returns nil when, for example, reqs['Encoder'] is in UTF-8 encoding and the corresponding key of the framework.encoders hash in US-ASCII encoding.
This commit is contained in:
Regular → Executable
+4
@@ -107,6 +107,10 @@ class EncodedPayload
|
||||
if reqs['BadChars'] or reqs['Encoder'] or reqs['ForceEncode']
|
||||
encoders = pinst.compatible_encoders
|
||||
|
||||
# Fix encoding issue
|
||||
if reqs['Encoder']
|
||||
reqs['Encoder'] = reqs['Encoder'].encode(framework.encoders.keys[0].encoding)
|
||||
end
|
||||
# If the caller had a preferred encoder, use this encoder only
|
||||
if ((reqs['Encoder']) and (preferred = framework.encoders[reqs['Encoder']]))
|
||||
encoders = [ [reqs['Encoder'], preferred] ]
|
||||
|
||||
Reference in New Issue
Block a user