Merge pull request #70 from guardicore/bugfix/shellshock-service-name-bug

Fix shellshock bug where service name wasn't available
This commit is contained in:
Daniel Goldberg 2017-11-11 11:40:19 +02:00 committed by GitHub
commit 68ec6d26f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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]