Fix shellshock bug where service name wasn't available

This commit is contained in:
Itay Mizeretz 2017-11-07 10:30:28 +02:00
parent 05ddc592ec
commit 04c79d1b3c
1 changed files with 4 additions and 2 deletions

View File

@ -38,8 +38,10 @@ class ShellShockExploiter(HostExploiter):
def exploit_host(self): def exploit_host(self):
# start by picking ports # start by picking ports
candidate_services = {service: self.host.services[service] for service in self.host.services if candidate_services = {
self.host.services[service]['name'] == 'http'} service: self.host.services[service] for service in self.host.services if
('name' in self.host.services[service]) and (self.host.services[service]['name'] == 'http')
}
valid_ports = [(port, candidate_services['tcp-' + str(port)]['data'][1]) for port in self.HTTP if valid_ports = [(port, candidate_services['tcp-' + str(port)]['data'][1]) for port in self.HTTP if
'tcp-' + str(port) in candidate_services] 'tcp-' + str(port) in candidate_services]