Merge pull request #12 from wopperer/fix_for_python_3.9.5

Fix issue https://github.com/aboul3la/Sublist3r/issues/236 to make it…
This commit is contained in:
fleetcaptain 2021-06-07 20:44:48 -07:00 committed by GitHub
commit 452e5f92d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 10 deletions

View File

@ -297,12 +297,11 @@ class enumratorBase(object):
class enumratorBaseThreaded(multiprocessing.Process, enumratorBase): class enumratorBaseThreaded(multiprocessing.Process, enumratorBase):
def __init__(self, base_url, engine_name, domain, subdomains=None, q=None, lock=threading.Lock(), silent=False, def __init__(self, base_url, engine_name, domain, subdomains=None, q=None, silent=False,
verbose=True): verbose=True):
subdomains = subdomains or [] subdomains = subdomains or []
enumratorBase.__init__(self, base_url, engine_name, domain, subdomains, silent=silent, verbose=verbose) enumratorBase.__init__(self, base_url, engine_name, domain, subdomains, silent=silent, verbose=verbose)
multiprocessing.Process.__init__(self) multiprocessing.Process.__init__(self)
self.lock = lock
self.q = q self.q = q
return return
@ -565,7 +564,6 @@ class NetcraftEnum(enumratorBaseThreaded):
subdomains = subdomains or [] subdomains = subdomains or []
self.base_url = 'https://searchdns.netcraft.com/?restriction=site+ends+with&host={domain}' self.base_url = 'https://searchdns.netcraft.com/?restriction=site+ends+with&host={domain}'
self.engine_name = "Netcraft" self.engine_name = "Netcraft"
self.lock = threading.Lock()
super(NetcraftEnum, self).__init__(self.base_url, self.engine_name, domain, subdomains, q=q, silent=silent, super(NetcraftEnum, self).__init__(self.base_url, self.engine_name, domain, subdomains, q=q, silent=silent,
verbose=verbose) verbose=verbose)
self.q = q self.q = q
@ -641,6 +639,7 @@ class DNSdumpster(enumratorBaseThreaded):
self.threads = 70 self.threads = 70
self.lock = threading.BoundedSemaphore(value=self.threads) self.lock = threading.BoundedSemaphore(value=self.threads)
self.q = q self.q = q
self.lock = None
super(DNSdumpster, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, super(DNSdumpster, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent,
verbose=verbose) verbose=verbose)
return return
@ -698,6 +697,7 @@ class DNSdumpster(enumratorBaseThreaded):
return token.strip() return token.strip()
def enumerate(self): def enumerate(self):
self.lock = threading.BoundedSemaphore(value=70)
resp = self.req('GET', self.base_url) resp = self.req('GET', self.base_url)
token = self.get_csrftoken(resp) token = self.get_csrftoken(resp)
params = {'csrfmiddlewaretoken': token, 'targetip': self.domain} params = {'csrfmiddlewaretoken': token, 'targetip': self.domain}
@ -739,7 +739,6 @@ class Virustotal(enumratorBaseThreaded):
subdomains = subdomains or [] subdomains = subdomains or []
base_url = 'https://www.virustotal.com/en/domain/{domain}/information/' base_url = 'https://www.virustotal.com/en/domain/{domain}/information/'
self.engine_name = "Virustotal" self.engine_name = "Virustotal"
self.lock = threading.Lock()
self.q = q self.q = q
super(Virustotal, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, super(Virustotal, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent,
verbose=verbose) verbose=verbose)
@ -784,7 +783,6 @@ class ThreatCrowd(enumratorBaseThreaded):
subdomains = subdomains or [] subdomains = subdomains or []
base_url = 'https://www.threatcrowd.org/searchApi/v2/domain/report/?domain={domain}' base_url = 'https://www.threatcrowd.org/searchApi/v2/domain/report/?domain={domain}'
self.engine_name = "ThreatCrowd" self.engine_name = "ThreatCrowd"
self.lock = threading.Lock()
self.q = q self.q = q
super(ThreatCrowd, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, super(ThreatCrowd, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent,
verbose=verbose) verbose=verbose)
@ -831,7 +829,6 @@ class CrtSearch(enumratorBaseThreaded):
subdomains = subdomains or [] subdomains = subdomains or []
base_url = 'https://crt.sh/?q=%25.{domain}' base_url = 'https://crt.sh/?q=%25.{domain}'
self.engine_name = "SSL Certificates" self.engine_name = "SSL Certificates"
self.lock = threading.Lock()
self.q = q self.q = q
super(CrtSearch, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, super(CrtSearch, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent,
verbose=verbose) verbose=verbose)
@ -878,7 +875,6 @@ class PassiveDNS(enumratorBaseThreaded):
subdomains = subdomains or [] subdomains = subdomains or []
base_url = 'http://ptrarchive.com/tools/search.htm?label={domain}' base_url = 'http://ptrarchive.com/tools/search.htm?label={domain}'
self.engine_name = "PassiveDNS" self.engine_name = "PassiveDNS"
self.lock = threading.Lock()
self.q = q self.q = q
super(PassiveDNS, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, super(PassiveDNS, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent,
verbose=verbose) verbose=verbose)
@ -938,9 +934,7 @@ class portscan():
def __init__(self, subdomains, ports): def __init__(self, subdomains, ports):
self.subdomains = subdomains self.subdomains = subdomains
self.ports = ports self.ports = ports
self.threads = 20 self.lock = None
self.lock = threading.BoundedSemaphore(value=self.threads)
def port_scan(self, host, ports): def port_scan(self, host, ports):
openports = [] openports = []
self.lock.acquire() self.lock.acquire()
@ -959,6 +953,7 @@ class portscan():
print("%s%s%s - %sFound open ports:%s %s%s%s" % (G, host, W, R, W, Y, ', '.join(openports), W)) print("%s%s%s - %sFound open ports:%s %s%s%s" % (G, host, W, R, W, Y, ', '.join(openports), W))
def run(self): def run(self):
self.lock = threading.BoundedSemaphore(value=20)
for subdomain in self.subdomains: for subdomain in self.subdomains:
t = threading.Thread(target=self.port_scan, args=(subdomain, self.ports)) t = threading.Thread(target=self.port_scan, args=(subdomain, self.ports))
t.start() t.start()