| 69 | self.results[app_name].vulns.append(Vuln(vuln_name, vuln_type, severity)) |
| 70 | |
| 71 | def parse_script(self, ip_addr: str, port: str, app_name: str, script: Dict[str, Any]): |
| 72 | if 'table' not in script: |
| 73 | print('ERROR in script: ' + script['@output'] + " at location: " + ip_addr + " port: " + port + " app: " + |
| 74 | app_name) |
| 75 | return |
| 76 | self.vulnerable_services.append(app_name) |
| 77 | script_table = script['table']['table'] |
| 78 | if isinstance(script_table, list): |
| 79 | for vuln in script_table: |
| 80 | self.parse_vuln(app_name, vuln['elem']) |
| 81 | else: |
| 82 | self.parse_vuln(app_name, script_table['elem']) |
| 83 | |
| 84 | def parse_port(self, ip_addr: str, port: Dict[str, Any]): |
| 85 | if port['state']['@state'] == 'closed': |