예제 #1
0
        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
예제 #2
0
 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."
         )
예제 #3
0
 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."
         )
예제 #4
0
    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)
예제 #5
0
    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
예제 #6
0
    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
예제 #7
0
    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
예제 #8
0
    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)
예제 #9
0
    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)
예제 #10
0
 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.")
예제 #11
0
 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.")