Advanced Endpoint Discovery Tool for Security Researchers & Web Penetration Testers
A powerful Playwright-based reconnaissance tool that discovers hidden URLs, API endpoints, and internal resources through dynamic JavaScript analysis and intelligent status code detection.
Brute-LI Scanner is designed for authorized security testing, bug bounty hunting, and penetration testing to:
- π΅οΈ Discover hidden endpoints that aren't visible in static HTML
- π Identify API routes and internal microservices
- π Uncover configuration files (JSON, XML, .env, etc.)
- π Map internal architecture and subdomain variations
- π Enumerate all reachable resources within a target domain
- Executes JavaScript in real browser context (Chromium)
- Captures URLs from dynamically loaded content
- Monitors DOM mutations for injected scripts using MutationObserver
- Detects single-page application (SPA) routes
Finds URLs embedded in:
- HTML source code
- Inline JavaScript
- External JavaScript files (with recursive fetching)
- API responses and JSON data
- Dynamically injected scripts
- Shadow DOM elements
- Accurate HTTP status codes from real page navigation
- Content-aware 403 detection - distinguishes between actual blocks and accessible pages
- Real response body analysis - no guessing with headers alone
- Smart error handling with proper timeout and retry logic
- π Header rotation - Random User-Agent and Accept-* headers per request
- π‘οΈ WAF-aware scanning - Polite delays between requests to avoid triggering WAF rules
- π Domain filtering - Automatically filters results to target domain only
- π Deduplication - Maintains persistent list to avoid re-testing
- β±οΈ Configurable timeouts - Fine-tune scanning behavior
- π¨ Color-coded output - Quick visual scanning of results
- π’ Green (200-299): Accessible resources
- π‘ Yellow (300-399 & 403 with content): Redirects & potentially accessible pages
- π΄ Red (403 blocks & errors): Blocked resources
- π£ Magenta (404): Not found
- π΅ Cyan (other): Other status codes
- π Persistent output - Saves results to
urls.txtwith automatic deduplication - π Content-length reporting - Shows actual response size for each URL
- β±οΈ Configurable Timeouts - Adjust scanning duration and request delays
- Launches headless Chromium
- Enables hidden/disabled elements via JavaScript injection
- Extracts URLs from HTML, scripts, and dynamically loaded content
- Monitors for new scripts injected by JavaScript (MutationObserver)
- Resolves relative URLs to absolute URLs
- Filters results to target domain only
- Creates a fresh page for each URL (real browser navigation)
- Captures actual HTTP response status codes
- Retrieves full response body for accurate content length
- Smart 403 detection (content > 5000 bytes = likely accessible)
- Displays results in real-time with color coding
- Python 3.7+
- Playwright (with Chromium)
- requests
- tldextract
- colorama
- Python 3.7 or higher
- pip package manager
# Clone the repository
git clone https://github.com/57ayush76/brute-li.git
cd brute-li
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium
# Run the tool
python3 brute-li.py
# Enter target URL when prompted
Enter URL to scan: https://example.com