Skip to content

fix: modernize Sublist3r for Python 3.11/3.12 compatibility and harden DNSDumpster engine - #412

Open
muhammedabdelkader wants to merge 1 commit into
aboul3la:masterfrom
muhammedabdelkader:master
Open

fix: modernize Sublist3r for Python 3.11/3.12 compatibility and harden DNSDumpster engine#412
muhammedabdelkader wants to merge 1 commit into
aboul3la:masterfrom
muhammedabdelkader:master

Conversation

@muhammedabdelkader

Copy link
Copy Markdown

Changes

  • Fixed Python 3.11/3.12 SyntaxWarnings by converting legacy regex patterns to raw strings (r"...") in sublist3r.py and subbrute.py.
  • Ensured compatibility with Homebrew Python environment by aligning interpreter and dependencies.
  • Added robust error-handling wrapper in enumratorBaseThreaded.run() to prevent engine failures from stopping the entire enumeration.
  • Replaced deprecated queue usage with safe list-append logic (self.q.append).
  • Refactored DNSDumpster handling:
    • Updated req() -> get_csrftoken() interaction.
    • Implemented resilient get_csrftoken() that accepts either Response objects or raw HTML strings.
    • Added graceful fallback when CSRF token is missing or HTML structure changes.
  • Normalized logging output to warn but continue execution when engines such as Google, VirusTotal, or DNSDumpster introduce blocking or CAPTCHAs.
  • Improved reliability of multi-threaded enumeration by preventing AttributeError: "Enum" object has no attribute "result".

Result

Sublist3r now runs successfully on macOS/Homebrew Python 3.11+, with proper exception handling for deprecated or blocking data sources. DNSDumpster no longer throws and all enumeration engines fail gracefully without terminating the scan.

…n DNSDumpster engine

### Changes
- Fixed Python 3.11/3.12 SyntaxWarnings by converting legacy regex patterns
  to raw strings (r"...") in sublist3r.py and subbrute.py.
- Ensured compatibility with Homebrew Python environment by aligning
  interpreter and dependencies.
- Added robust error-handling wrapper in enumratorBaseThreaded.run()
  to prevent engine failures from stopping the entire enumeration.
- Replaced deprecated queue usage with safe list-append logic (self.q.append).
- Refactored DNSDumpster handling:
  - Updated req() -> get_csrftoken() interaction.
  - Implemented resilient get_csrftoken() that accepts either Response
    objects or raw HTML strings.
  - Added graceful fallback when CSRF token is missing or HTML structure
    changes.
- Normalized logging output to warn but continue execution when engines
  such as Google, VirusTotal, or DNSDumpster introduce blocking or CAPTCHAs.
- Improved reliability of multi-threaded enumeration by preventing
  AttributeError: "<Engine>Enum" object has no attribute "result".

### Result
Sublist3r now runs successfully on macOS/Homebrew Python 3.11+, with
proper exception handling for deprecated or blocking data sources.
DNSDumpster no longer throws
and all enumeration engines fail gracefully without terminating the scan.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant