diff --git a/sublist3r.py b/sublist3r.py index e1d3735..2442832 100644 --- a/sublist3r.py +++ b/sublist3r.py @@ -71,6 +71,7 @@ def parser_error(errmsg): print(R + "Error: " + errmsg + W) sys.exit() + def parse_args(): # parse the arguments parser = argparse.ArgumentParser(epilog='\tExample: \r\npython ' + sys.argv[0] + " -d google.com") @@ -274,7 +275,7 @@ def extract_domains(self, resp): subdomain = urlparse.urlparse(link).netloc if subdomain and subdomain not in self.subdomains and subdomain != self.domain: if self.verbose: - self.print_("%s%s: %s%s"%(R, self.engine_name, W, subdomain)) + self.print_("%s%s: %s%s" % (R, self.engine_name, W, subdomain)) self.subdomains.append(subdomain.strip()) except Exception: pass @@ -308,7 +309,7 @@ def __init__(self, domain, subdomains=None, q=None, silent=False, verbose=True): self.engine_name = "Yahoo" self.MAX_DOMAINS = 10 self.MAX_PAGES = 0 - super(YahooEnum, self).__init__(base_url, self.engine_name,domain, subdomains, q=q, silent=silent, verbose=verbose) + super(YahooEnum, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, verbose=verbose) self.q = q return @@ -373,7 +374,7 @@ def extract_domains(self, resp): subdomain = urlparse.urlparse(link).netloc if subdomain not in self.subdomains and subdomain != self.domain: if self.verbose: - self.print_("%s%s: %s%s"%(R, self.engine_name, W, subdomain)) + self.print_("%s%s: %s%s" % (R, self.engine_name, W, subdomain)) self.subdomains.append(subdomain.strip()) except Exception: pass @@ -517,7 +518,7 @@ def req(self, url, cookies=None): } try: - resp = self.session.get(url, headers=headers, timeout=self.timeout,cookies=cookies) + resp = self.session.get(url, headers=headers, timeout=self.timeout, cookies=cookies) except Exception as e: self.print_(e) resp = None @@ -573,6 +574,7 @@ def extract_domains(self, resp): pass return links_list + class DNSdumpster(enumratorBaseThreaded): def __init__(self, domain, subdomains=None, q=None, silent=False, verbose=True): subdomains = subdomains or [] @@ -693,7 +695,7 @@ def enumerate(self): return self.subdomains def extract_domains(self, resp): - link_regx = re.compile('
.*?(.*?)',re.S) + link_regx = re.compile('
.*?(.*?)', re.S) try: links = link_regx.findall(resp) for link in links: @@ -754,7 +756,7 @@ def extract_domains(self, resp): continue if subdomain not in self.subdomains and subdomain != self.domain: if self.verbose: - self.print_("%s%s: %s%s"%(R, self.engine_name, W, subdomain)) + self.print_("%s%s: %s%s" % (R, self.engine_name, W, subdomain)) self.subdomains.append(subdomain.strip()) except Exception as e: pass @@ -806,7 +808,7 @@ def extract_domains(self, resp): if subdomain not in self.subdomains and subdomain != self.domain: if self.verbose: - self.print_("%s%s: %s%s"%(R, self.engine_name, W, subdomain)) + self.print_("%s%s: %s%s" % (R, self.engine_name, W, subdomain)) self.subdomains.append(subdomain.strip()) except Exception as e: pass @@ -854,7 +856,7 @@ def extract_domains(self, resp): subdomain = link[:link.find('[')].strip() if subdomain not in self.subdomains and subdomain != self.domain and subdomain.endswith(self.domain): if self.verbose: - self.print_("%s%s: %s%s" %( R, self.engine_name, W, subdomain)) + self.print_("%s%s: %s%s" % (R, self.engine_name, W, subdomain)) self.subdomains.append(subdomain.strip()) except Exception: pass @@ -889,6 +891,7 @@ def run(self): t = threading.Thread(target=self.port_scan, args=(subdomain, self.ports)) t.start() + def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce, engines): bruteforce_list = set() search_list = set() @@ -914,8 +917,8 @@ def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce, e parsed_domain = urlparse.urlparse(domain) - if not silent: - print(B + "[-] Enumerating subdomains now for %s"%parsed_domain.netloc + W) + if not silent: + print(B + "[-] Enumerating subdomains now for %s" % parsed_domain.netloc + W) if verbose and not silent: print(Y + "[-] verbosity is enabled, will show the subdomains results in realtime" + W) @@ -983,7 +986,7 @@ def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce, e if ports: if not silent: - print(G + "[-] Start port scan now for the following ports: %s%s" % (Y,ports) + W) + print(G + "[-] Start port scan now for the following ports: %s%s" % (Y, ports) + W) ports = ports.split(',') pscan = portscan(subdomains, ports) pscan.run() @@ -994,7 +997,7 @@ def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce, e return subdomains -if __name__=="__main__": +if __name__ == "__main__": args = parse_args() domain = args.domain threads = args.threads