Skip to content

Commit c9a354b

Browse files
committed
Added nil checks
1 parent e6bfbb7 commit c9a354b

File tree

1 file changed

+31
-22
lines changed

1 file changed

+31
-22
lines changed

modules/auxiliary/scanner/http/gavazzi_em_login_loot.rb

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,18 @@ def do_login(user, pass)
162162

163163
if !fw_ver_dirty.nil?
164164
fw_ver_clean = "#{fw_ver_dirty}".match(/Ver. (.*)[$<]/)[1]
165-
print_good("#{rhost}:#{rport} - Firmware version #{fw_ver_clean}...")
166-
167-
report_cred(
168-
ip: rhost,
169-
port: rport,
170-
service_name: "Carlo Gavazzi Energy Meter [Firmware ver #{fw_ver_clean}]",
171-
user: user,
172-
password: pass
173-
)
165+
166+
if !fw_ver_clean.nil?
167+
print_good("#{rhost}:#{rport} - Firmware version #{fw_ver_clean}...")
168+
169+
report_cred(
170+
ip: rhost,
171+
port: rport,
172+
service_name: "Carlo Gavazzi Energy Meter [Firmware ver #{fw_ver_clean}]",
173+
user: user,
174+
password: pass
175+
)
176+
end
174177
end
175178
end
176179

@@ -179,15 +182,18 @@ def do_login(user, pass)
179182

180183
if !fw_ver_dirty.nil?
181184
fw_ver_clean = "#{fw_ver_dirty}".match(/[^Ver. ](.*)[^<]/)
182-
print_good("#{rhost}:#{rport} - Firmware version #{fw_ver_clean}...")
183-
184-
report_cred(
185-
ip: rhost,
186-
port: rport,
187-
service_name: "Carlo Gavazzi Energy Meter [Firmware ver #{fw_ver_clean}]",
188-
user: user,
189-
password: pass
190-
)
185+
186+
if !fw_ver_clean.nil?
187+
print_good("#{rhost}:#{rport} - Firmware version #{fw_ver_clean}...")
188+
189+
report_cred(
190+
ip: rhost,
191+
port: rport,
192+
service_name: "Carlo Gavazzi Energy Meter [Firmware ver #{fw_ver_clean}]",
193+
user: user,
194+
password: pass
195+
)
196+
end
191197
end
192198
end
193199

@@ -213,14 +219,17 @@ def do_login(user, pass)
213219

214220
if (res && res.code == 200 && res.body.include?('SMTP'))
215221
dirty_smtp_server = res.body.match(/smtp" value=(.*)[$=]/)[1]
216-
smtp_server = dirty_smtp_server.match(/[$"](.*)[$"]/)
217222
dirty_smtp_user = res.body.match(/usersmtp" value=(.*)[$=]/)[1]
218-
smtp_user = dirty_smtp_user.match(/[$"](.*)[$"]/)
219223
dirty_smtp_pass = res.body.match(/passwordsmtp" value=(.*)[$=]/)[1]
220-
smtp_pass = dirty_smtp_pass.match(/[$"](.*)[$"]/)
221224

222225
if (!dirty_smtp_server.nil?) && (!dirty_smtp_user.nil?) && (!dirty_smtp_pass.nil?)
223-
print_good("#{rhost}:#{rport} - SMTP server: #{smtp_server}, SMTP username: #{smtp_user}, SMTP password: #{smtp_pass}")
226+
smtp_server = dirty_smtp_server.match(/[$"](.*)[$"]/)
227+
smtp_user = dirty_smtp_user.match(/[$"](.*)[$"]/)
228+
smtp_pass = dirty_smtp_pass.match(/[$"](.*)[$"]/)
229+
230+
if (!smtp_server.nil?) && (!smtp_user.nil?) && (!smtp_pass.nil?)
231+
print_good("#{rhost}:#{rport} - SMTP server: #{smtp_server}, SMTP username: #{smtp_user}, SMTP password: #{smtp_pass}")
232+
end
224233
end
225234
else
226235
vprint_error("#{rhost}:#{rport} - SMTP config could not be retrieved. Check if the user has administrative privileges")

0 commit comments

Comments
 (0)