Fix DNSDumpster CSRF token parsing to prevent IndexError

This commit is contained in:
Muhammad Usman 2025-11-06 15:10:28 -05:00
parent 91e14471f4
commit 01526ef6fe
1 changed files with 8 additions and 3 deletions

View File

@ -692,14 +692,19 @@ class DNSdumpster(enumratorBaseThreaded):
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()
csrf_regex = re.compile(r'name=["\']csrfmiddlewaretoken["\'] value=["\']([^"\']+)["\']')
matches = csrf_regex.findall(resp)
if not matches:
print("[!] Could not find CSRF token in response. The site may have changed or blocked the request.")
return None
return matches[0]
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)