From dc78f29693b28c334d2de07c4c74783eb5de4e1c Mon Sep 17 00:00:00 2001 From: sethumadh Date: Sat, 30 May 2026 10:17:14 +1000 Subject: [PATCH] Refactor proxy_type assignment to use case/when expression Replaces two sequential if assignments with a single case/when for clarity and adds a defensive else branch that logs and skips unexpected proxy_type values. --- modules/network/get_proxy_servers_wpad/module.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/network/get_proxy_servers_wpad/module.rb b/modules/network/get_proxy_servers_wpad/module.rb index 3f8f555d2..a93ec261c 100644 --- a/modules/network/get_proxy_servers_wpad/module.rb +++ b/modules/network/get_proxy_servers_wpad/module.rb @@ -19,8 +19,13 @@ class Get_proxy_servers_wpad < BeEF::Core::Command proxy_type = Regexp.last_match(1).to_s ip = Regexp.last_match(2).to_s.split(':')[0] port = Regexp.last_match(2).to_s.split(':')[1] - proto = 'HTTP' if proxy_type =~ /PROXY/ - proto = 'SOCKS' if proxy_type =~ /SOCKS/ + proto = case proxy_type + when /PROXY/ then 'HTTP' + when /SOCKS/ then 'SOCKS' + else + print_debug("Unexpected proxy_type from WPAD response: #{proxy_type.inspect}") + next + end if BeEF::Filters.is_valid_ip?(ip) print_debug("Hooked browser found #{proto} proxy [ip: #{ip}, port: #{port}]") BeEF::Core::Models::NetworkService.create(hooked_browser_id: session_id, proto: proto.downcase, ip: ip, port: port, ntype: "#{proto} Proxy")