@@ -63,7 +63,7 @@ def self.patch_proxy!(blob, proxyhost, proxyport, proxy_type)
63
63
if proxyport == "80"
64
64
proxyinfo = proxyhost
65
65
end
66
- if proxy_type . to_s == 'HTTP'
66
+ if proxy_type . to_s . upcase == 'HTTP'
67
67
proxyinfo = 'http://' + proxyinfo
68
68
else #socks
69
69
proxyinfo = 'socks=' + proxyinfo
@@ -76,17 +76,21 @@ def self.patch_proxy!(blob, proxyhost, proxyport, proxy_type)
76
76
# Proxy authentification
77
77
def self . patch_proxy_auth! ( blob , proxy_username , proxy_password , proxy_type )
78
78
79
- unless ( proxy_username . nil? or proxy_username . empty? ) or
80
- ( proxy_password . nil? or proxy_password . empty? ) or
81
- proxy_type == 'SOCKS'
79
+ return if proxy_type . nil? || proxy_type . upcase == 'SOCKS'
82
80
83
- patch_string! ( blob , "METERPRETER_USERNAME_PROXY#{ "\x00 " * 10 } " ,
81
+ if proxy_username && !proxy_username . empty?
82
+ unless patch_string! ( blob , "METERPRETER_USERNAME_PROXY#{ "\x00 " * 10 } " ,
84
83
proxy_username + "\x00 " )
84
+ raise ArgumentError , "Unable to patch Proxy Username"
85
+ end
86
+ end
85
87
86
- patch_string! ( blob , "METERPRETER_PASSWORD_PROXY#{ "\x00 " * 10 } " ,
88
+ if proxy_password && !proxy_password . empty?
89
+ unless patch_string! ( blob , "METERPRETER_PASSWORD_PROXY#{ "\x00 " * 10 } " ,
87
90
proxy_password + "\x00 " )
91
+ raise ArgumentError , "Unable to patch Proxy Password"
92
+ end
88
93
end
89
-
90
94
end
91
95
92
96
# Patch the ssl cert hash
0 commit comments