Authenticated scanning is available on Deep and Custom scan types. It’s not available on Light scans.
Before you begin
Before configuring authenticated scanning, check that you have:- Test account credentials: Dedicated accounts for scanning (not production user accounts)
- Extended session timeout: Session configured to last longer than your scan duration
- CAPTCHA/2FA disabled: Neither automatic nor recorded authentication supports CAPTCHA or 2FA. Use Cookie or Header authentication with a pre-authenticated session, or disable them on test accounts.
- Logout URLs identified: To add to scan exclusions and prevent accidental logout
Supported tools
| Tool | Authentication methods |
|---|---|
| Website Scanner | Automatic login form, Recorded, Cookies, Headers |
| API Scanner | Headers (JWT, Authorization) |
| WordPress Scanner | Basic authentication (username/password) |
| URL Fuzzer | Headers (JWT, Authorization, Cookies, User-Agent) |
| SQLi Exploiter | Cookie header |
| Sniper | SSH, WinRM, SMB, MySQL |
| Kubernetes Scanner | Service account token (JWT) |
Website Scanner
The Website Scanner supports four authentication methods to handle different application types.Automatic login form
The scanner automatically fills in and submits a login form. This method uses a two-stage approach:- Traditional detection: Pattern-based selectors identify standard login form elements
- AI-powered fallback: If traditional detection fails, AI-enhanced authentication takes over to handle complex pages with iframes, dynamic loading, or non-standard layouts
- No CAPTCHA, 2FA, or SSO
- Enter the Login URL where your login form is located
- Provide the Username and Password
- Use Check authentication to verify the credentials work
You don’t need to configure anything for AI detection. It activates automatically when needed. See AI-enhanced authentication for details on how it works.
Recorded authentication
Record your login steps using Chrome’s Recorder panel and upload the JSON file. Best for complex login flows with multiple steps, redirects, or JavaScript-heavy forms.Open Chrome DevTools
Right-click on your login page and select Inspect, then navigate to the Recorder tab (you may need to enable it from the three-dot menu > More tools > Recorder).
Perform the login
With recording active, perform a complete login exactly as you normally would. Enter credentials, click buttons, handle any intermediate screens.
Stop and configure
Click End recording. Set the Timeout to at least 15000ms (15 seconds) to allow for network delays.
Use the Recorded method for multi-step login flows: multiple pages, pop-ups, or JavaScript-heavy forms.
Cookie authentication
Provide session cookies from an already-authenticated browser session. This works with nearly any web application that uses cookies for authentication. How to get session cookies:Navigate to cookies
Go to the Application tab (Chrome/Edge) or Storage tab (Firefox), then expand Cookies and select your target domain.
The cookie header should only contain the cookie name and value pairs, separated by semicolons. Do not include the
Cookie: prefix.| Issue | Cause | Solution |
|---|---|---|
| Authentication check fails | Invalid or expired cookies | Re-login and get fresh cookies |
| Scan fails after starting | Session expired during scan | Increase cookie lifetime in your application, or keep the browser session active |
| Blank authentication check window | Wrong cookies provided | Verify you copied the correct session cookies |
| Cookie size error | Cookies exceed 5000 characters | This is a platform limitation. Use Header authentication instead |
Header authentication
Set custom HTTP headers sent with each request. Useful for JWT tokens, Authorization headers, API keys, or any custom authentication headers. Format:Each header should be on a separate line. You can combine multiple headers including cookies.
| Use Case | Header Format |
|---|---|
| JWT Bearer token | Authorization: Bearer <token> |
| Basic authentication | Authorization: Basic <base64-encoded-credentials> |
| API key | X-API-Key: <key> |
| Custom token | X-Auth-Token: <token> |
API Scanner
The API Scanner supports header-based authentication for APIs using JWT tokens, Bearer tokens, or custom authorization schemes. How to configure:- In the scan configuration, locate the Headers section
- Enter your authentication headers (one per line)
WordPress Scanner
The WordPress Scanner supports HTTP Basic Authentication with username and password. This is available in Custom scan mode only. How to configure:- Select Custom scan type
- Enable Basic Authentication
- Enter your WordPress username and password
Basic Authentication is different from WordPress login credentials. It’s typically configured at the server level (Apache/Nginx) to restrict access to the entire site or wp-admin area.
URL Fuzzer
The URL Fuzzer supports custom headers in Custom scan mode, allowing you to fuzz authenticated endpoints. How to configure:- Select Custom scan type
- Navigate to Request options > Headers
- Enter your authentication headers
- JWT tokens
- Authorization headers
- Cookies
- Custom User-Agent strings
- Any other custom headers required by your application
SQLi Exploiter
The SQLi Exploiter lets you provide a cookie header in the Advanced options to test authenticated pages for SQL injection vulnerabilities. How to configure:- In the scan configuration, expand Advanced options
- Enter your session cookie in the Cookie field
The SQLi Exploiter uses cookies to maintain session state while testing vulnerable parameters on authenticated pages.
Sniper
Sniper supports authenticated scans via four protocols. Use them to extract system artifacts through an authenticated session.Authenticated Sniper scans don’t search for vulnerabilities or run exploits. Instead, they extract artifacts (system information, configurations, user data) through the authenticated session. This is useful for post-authentication reconnaissance.
| Protocol | Authentication options | Use case |
|---|---|---|
| SSH | Username/password or SSH private key | Linux/Unix systems |
| WinRM | Username/password with auth type (NTLM or Basic) | Windows systems |
| SMB | Username/password with optional domain | Windows file shares |
| MySQL | Username/password with database name | Database servers |
SSH authentication
Username/Password:- Select SSH protocol
- Choose Username and Password authentication
- Enter SSH credentials
- Select SSH protocol
- Choose SSH private key authentication
- Paste your private key content
- Enter the key passphrase (if applicable)
WinRM authentication
- Select WinRM protocol
- Enter username and password
- Choose authentication type:
- NTLM (recommended for domain environments)
- Basic (for standalone systems)
SMB authentication
- Select SMB protocol
- Enter username and password
- Optionally specify the domain for domain-joined systems
MySQL authentication
- Select MySQL protocol
- Enter username and password
- Specify the database name to connect to
Kubernetes Scanner
The Kubernetes Scanner supports authenticated scanning using a Kubernetes service account token. This simulates an authenticated adversary with valid cluster credentials.Authenticated scanning is only available in Deep and Custom scan modes. It’s not available in Light scans.
- Internal misconfigurations not visible externally
- What an attacker with valid credentials could access
- Privilege escalation paths within the cluster
- RBAC issues and excessive permissions
- Select Deep or Custom scan type
- Enable Authentication
- Paste your Service account token
Best practices
Use dedicated test accounts
Use dedicated test accounts
Never use production user accounts. Create dedicated test accounts with appropriate permissions for scanning. This protects real user data and provides a controlled testing environment.
Configure long session timeouts
Configure long session timeouts
Web scans can take several hours to complete. Ensure your session cookies or tokens don’t expire during the scan. If possible, increase the session lifetime in your target application during testing.
Disable MFA for test accounts
Disable MFA for test accounts
Multi-factor authentication prevents automated scanning. Disable it for test accounts, or use Cookie or Header authentication with a pre-authenticated session.
Exclude logout URLs
Exclude logout URLs
Configure scan exclusions to prevent the scanner from accidentally logging itself out during testing. Common patterns to exclude:
/logout, /signout, /session/destroy.Test multiple roles
Test multiple roles
For comprehensive coverage, run authenticated scans with different user roles (regular user, admin, limited access) to identify privilege escalation issues and role-based access control flaws.
Verify authentication before scanning
Verify authentication before scanning
Always use the Check authentication button before starting a full scan. This validates that your credentials or cookies are working correctly and saves time troubleshooting failed scans.
Troubleshooting
Authentication check fails
- Verify credentials are correct and the account is not locked
- Ensure the target is reachable from the scanner
- Check that the login URL is correct (may differ from target URL)
- Confirm the login form is compatible with automatic authentication
- For cookie auth, ensure cookies haven’t expired
Scan starts but loses authentication
- Session cookies may have expired. Increase session lifetime in your application
- The scanner may have triggered a logout. Add logout URLs to exclusions
- Tokens may have a short lifetime. Use longer-lived tokens or refresh mechanism
- For cookie auth, ensure you keep your browser session logged in throughout the scan
CAPTCHA or 2FA blocking authentication
- Remove CAPTCHA from the test environment during scanning
- Disable 2FA for test accounts
- Use Cookie or Header authentication with a pre-authenticated session
Authentication works but scan finds nothing
- The authenticated session may have insufficient permissions
- Check that the test account has access to the areas you want to scan
- Verify the scan scope includes authenticated-only paths
Related topics
- AI-enhanced authentication: How AI improves automatic login form detection
- Scan types and depth
- Website Scanner
- API Scanner
- WordPress Scanner
- URL Fuzzer
- SQLi Exploiter
- Sniper
- Kubernetes Scanner