Content Security Policy

Check List

Methodology

CSP Misconfiguration

1

Inspect HTTP response headers of target

2

Observe the Content-Security-Policy header includes script-src 'unsafe-inline'

3

This allows inline scripts execution, weakening CSP protections against Cross-Site Scripting (XSS)

4

Although no direct exploit is shown, the presence of unsafe-inline increases risk of script injection attacks

5

Best practice Avoid unsafe-inline in script-src to reduce XSS attack surface


CSP Bypass Via Percent-Encoding

1

Appending % or % to the URL endpoint causes the browser to misinterpret or relax CSP enforcement

2

By inspecting and editing the HTML in the dev tools, an attacker can inject inline JavaScript and use this cheat sheet despite a strict script-src policy, leading to a bypass of the CSP


Cheat Sheet

CSP Header

curl -I $WEBSITE | grep "content-security-policy"

CSP Parameters

circle-info

default-src (Secure)

circle-info

default-src (Non-Secure)

circle-info

script-src (Secure)

circle-info

script-src (Non-Secure)

circle-info

style-src (Secure)

circle-info

style-src (Non-Secure)

circle-info

img-src (Secure)

circle-info

img-src (Non-Secure)

circle-info

connect-src (Secure)

circle-info

connect-src (Non-Secure)

circle-info

font-src (Secure)

circle-info

font-src (Non-Secure)

circle-info

object-src (Secure)

circle-info

object-src (Non-Secure)

circle-info

frame-src (Secure)

circle-info

frame-src (Non-Secure)

circle-info

frame-ancestors (Secure)

circle-info

frame-ancestors (Non-Secure)

circle-info

sandbox (Secure)

circle-info

sandbox (Non-Secure)

CSP Bypass

circle-info

Create Script

circle-info

Run Script

Last updated