def _wrapper(*args, **kwargs): cls._is_lock = True # Check if exploit is a single ip set target = exploit.target port = exploit.port if (is_ipv4(target) or is_ipv6(target)) and port: cls._targets_queue.put((exploit, target, port)) # Check if loading from search engine if exploit.engine: for target, port in get_targets_from_engine(exploit.engine): if port: port = port elif exploit.port: port = exploit.port else: port = 80 cls._targets_queue.put((exploit, target, port)) print_info("Fetch {} target.".format(cls._targets_queue.qsize())) # Start multithreading handle cls._run_multi_threads(exploit.threads, cls._loop_thread, func, *args, **kwargs) # Save exploit result cls._save(exploit) cls._is_lock = False
def __set__(self, instance, value): if not value or is_ipv4(value) or is_ipv6(value) or value == "localip": self.value = self.display_value = value else: raise OptionValidationError( "Invalid address. Provided address is not valid IPv4 or IPv6 address." )
def _apply_widget(self, value): if is_ipv4(value) or is_ipv6(value): return value else: raise OptionValidationError( "Invalid address. Provided address is not valid IPv4 or IPv6 address." )
def __init__(self, udp_target: str, udp_port: int, verbosity: bool = False) -> None: """ UDP client constructor :param str udp_target: target UDP server ip address :param int udp_port: target UDP server port :param bool verbosity: display verbose output :return None: """ self.udp_target = udp_target self.udp_port = udp_port self.verbosity = verbosity self.peer = "{}:{}".format(self.udp_target, self.udp_port) if is_ipv4(self.udp_target): self.udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) elif is_ipv6(self.udp_target): self.udp_client = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) else: print_error("Target address is not valid IPv4 nor IPv6 address", verbose=self.verbosity) return None self.udp_client.settimeout(UDP_SOCKET_TIMEOUT)
def tcp_create(self): if is_ipv4(self.target): tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) elif is_ipv6(self.target): tcp_client = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) else: print_error("Target address is not valid IPv4 nor IPv6 address") return None tcp_client.settimeout(TCP_SOCKET_TIMEOUT) return tcp_client
def udp_create(self): if is_ipv4(self.target): udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) elif is_ipv6(self.target): udp_client = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) else: print_error("Target address is not valid IPv4 nor IPv6 address", verbose=self.verbosity) return None udp_client.settimeout(UDP_SOCKET_TIMEOUT) return udp_client
def __init__(self, udp_target, udp_port, verbosity=False): self.udp_target = udp_target self.udp_port = udp_port self.verbosity = verbosity self.peer = "{}:{}".format(self.udp_target, self.udp_port) if is_ipv4(self.udp_target): self.udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) elif is_ipv6(self.udp_target): self.udp_client = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) else: print_error("Target address is not valid IPv4 nor IPv6 address", verbose=self.verbosity) return None self.udp_client.settimeout(UDP_SOCKET_TIMEOUT)
def _apply_widget(self, value): if is_ipv4(value) or is_ipv6(value): return value else: raise OptionValidationError("Invalid address. Provided address is not valid IPv4 or IPv6 address.")
def __set__(self, instance, value): if not value or is_ipv4(value) or is_ipv6(value): self.value = self.display_value = value else: raise OptionValidationError("Invalid address. Provided address is not valid IPv4 or IPv6 address.")