(self, event)
| 78 | ] |
| 79 | |
| 80 | def handleEvent(self, event): |
| 81 | eventName = event.eventType |
| 82 | srcModuleName = event.module |
| 83 | eventData = event.data |
| 84 | |
| 85 | self.debug(f"Received event, {eventName}, from {srcModuleName}") |
| 86 | |
| 87 | if self.errorState: |
| 88 | return |
| 89 | |
| 90 | if srcModuleName == "sfp_tool_testsslsh": |
| 91 | self.debug("Skipping event from myself.") |
| 92 | return |
| 93 | |
| 94 | if not self.opts['testsslsh_path']: |
| 95 | self.error("You enabled sfp_tool_testsslsh but did not set a path to the tool!") |
| 96 | self.errorState = True |
| 97 | return |
| 98 | |
| 99 | exe = self.opts['testsslsh_path'] |
| 100 | if self.opts['testsslsh_path'].endswith('/'): |
| 101 | exe = f"{exe}testssl.sh" |
| 102 | |
| 103 | if not os.path.isfile(exe): |
| 104 | self.error(f"File does not exist: {exe}") |
| 105 | self.errorState = True |
| 106 | return |
| 107 | |
| 108 | if not SpiderFootHelpers.sanitiseInput(eventData, extra=['/']): |
| 109 | self.debug("Invalid input, skipping.") |
| 110 | return |
| 111 | |
| 112 | targets = list() |
| 113 | try: |
| 114 | if eventName == "NETBLOCK_OWNER" and self.opts['netblockscan']: |
| 115 | net = IPNetwork(eventData) |
| 116 | if net.prefixlen < self.opts['netblockscanmax']: |
| 117 | self.debug("Skipping scanning of " + eventData + ", too big.") |
| 118 | return |
| 119 | for addr in net.iter_hosts(): |
| 120 | targets.append(str(addr)) |
| 121 | except BaseException as e: |
| 122 | self.error(f"Strange netblock identified, unable to parse: {eventData} ({e})") |
| 123 | return |
| 124 | |
| 125 | # Don't look up stuff twice, check IP == IP here |
| 126 | if eventData in self.results: |
| 127 | self.debug(f"Skipping {eventData} as already scanned.") |
| 128 | return |
| 129 | else: |
| 130 | if eventName != "INTERNET_NAME": |
| 131 | # Might be a subnet within a subnet or IP within a subnet |
| 132 | for addr in self.results: |
| 133 | try: |
| 134 | if IPNetwork(eventData) in IPNetwork(addr): |
| 135 | self.debug(f"Skipping {eventData} as already within a scanned range.") |
| 136 | return |
| 137 | except BaseException: |
nothing calls this directly
no test coverage detected