XSS Payload Generator
Context-aware payloads with encoding, WAF bypass, and blind XSS callback support.
Injection Settings
Payload will be inserted into HTML content
Applied after payload generation
Blind XSS Callback
Auto-generate or enter your own. Blind payloads will phone home to this URL.
Payload Category
Basic XSS Payloads
HTML Context · No EncodingLoading payloads...
XSS Quick Reference
Testing Methodology
- Map inputs — forms, URL params, headers, JSON fields, file uploads
- Identify context — view source, find where your input lands
- Test reflection — inject
<bb>and check if it renders - Probe filters — what gets stripped?
<script>?onerror? Quotes? - Craft bypass — encoding, case tricks, alternative tags/events
- Escalate impact — cookie theft, account takeover, keylogging
- Test persistence — does it store? Does it fire for other users?
- Try blind — inject callback payloads into admin panels, logs, emails
XSS Types
| Reflected | Input reflected immediately in response — delivered via crafted URL |
| Stored | Payload persisted on server — fires for every user who views the page |
| DOM-Based | Client-side JS processes input unsafely — server never sees the payload |
| Blind | Executes in a context you can't see (admin panel, logs, emails) |
| Mutation (mXSS) | Browser's HTML parser mutates sanitized input into executable JS |
| Self-XSS | Requires victim to paste payload themselves — low severity alone |
Bypass Techniques
- Case mixing —
<ScRiPt> - Double encoding —
%253C - Null bytes —
%00between keywords - HTML entities —
< - Event alternatives —
ontoggle,onpointerenter - Tag alternatives —
<details>,<math>,<svg> - Comment splitting —
<scr<!-->ipt> - Protocol tricks —
javascript:,data:
Modern Defenses to Bypass
- CSP —
script-srcrestrictions, nonce/hash bypass - Trusted Types — Chrome's DOM XSS prevention API
- Same-Site Cookies — limits cookie theft via XSS
- HttpOnly Cookies — not accessible via
document.cookie - Sanitizer API — browser-native HTML sanitization
- X-XSS-Protection — deprecated but still present
Framework Targets
- React —
dangerouslySetInnerHTML,hrefwithjavascript: - Angular — template injection
{{constructor.constructor('alert(1)')()}} - Vue.js —
v-htmldirective, template expressions - jQuery —
.html()vs.text(), selector injection - Svelte —
{`@html`}directive
For authorized security testing only. Always ensure explicit permission before testing any application.