Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion subbrute/subbrute.py
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,9 @@ def extract_hosts(data, hostname):

#Return a list of unique sub domains, sorted by frequency.
#Only match domains that have 3 or more sections subdomain.domain.tld
domain_match = re.compile("([a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*)+")
domain_match = re.compile(r"([a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*)+")


def extract_subdomains(file_name):
#Avoid re-compilation
global domain_match
Expand Down
18 changes: 13 additions & 5 deletions sublist3r.py
Original file line number Diff line number Diff line change
Expand Up @@ -592,8 +592,6 @@ def extract_domains(self, resp):
except Exception:
pass
return links_list


class DNSdumpster(enumratorBaseThreaded):
def __init__(self, domain, subdomains=None, q=None, silent=False, verbose=True):
subdomains = subdomains or []
Expand Down Expand Up @@ -637,14 +635,22 @@ def req(self, req_method, url, params=None):
return self.get_response(resp)

def get_csrftoken(self, resp):
csrf_regex = re.compile('<input type="hidden" name="csrfmiddlewaretoken" value="(.*?)">', re.S)
token = csrf_regex.findall(resp)[0]
return token.strip()
import re
csrf_regex = re.compile(r'name="csrfmiddlewaretoken" value="([^"]+)"')
matches = csrf_regex.findall(resp)
if matches:
return matches[0]
else:
print("[!] Warning: DNSdumpster token not found — skipping DNSdumpster engine.")
return None

def enumerate(self):
self.lock = threading.BoundedSemaphore(value=70)
resp = self.req('GET', self.base_url)
token = self.get_csrftoken(resp)
if not token:
return []

params = {'csrfmiddlewaretoken': token, 'targetip': self.domain}
post_resp = self.req('POST', self.base_url, params)
self.extract_domains(post_resp)
Expand Down Expand Up @@ -723,6 +729,8 @@ def extract_domains(self, resp):
except Exception:
pass

git remote add origin https://github.com/SANJAY23CB50/Sublist3r.git
git branch -M main

class ThreatCrowd(enumratorBaseThreaded):
def __init__(self, domain, subdomains=None, q=None, silent=False, verbose=True):
Expand Down