X-Frame-Options: DENY to block all framing, or SAMEORIGIN to allow framing only from the same domain. Prefer frame-ancestors in CSP for finer control.ALLOWALL or permissive values; do not rely solely on JavaScript to prevent clickjacking.❌ This test is not applicable. This static page does not handle file uploads or serve user-generated content, so there is no risk of MIME type sniffing. This protection is relevant when browsers might incorrectly interpret a file's content type, which can lead to security issues if the file is treated as executable. In this context, all content types are static and controlled by the server.
X-Content-Type-Options: nosniff to force the browser to respect the declared Content-Type and prevent MIME-sniffing.Explore CSP misconfigurations and their security implications. This static page demonstrates three core exploit types.
Unsanitized content from the URL (e.g., hash or query string) is injected directly into the DOM and executed as JavaScript. This is DOM-based XSS — when CSP allows unsafe-inline, inline scripts can execute arbitrary code.
How attackers identify: Inspect page source for <script> tags without src; check CSP response header for unsafe-inline; test if URL hash or query parameters are reflected in DOM or script context; use browser DevTools to verify inline script execution.
https://www.nocdn.fakeorca.com/static#<script>alert('XSS Successful!')</script>
Attacker executes malicious JavaScript by exploiting how the website loads external scripts. This includes: (1) trusted third-party compromise (CDN/analytics), and (2) overly permissive CSP (script-src *).
How attackers identify: Inspect response headers for Content-Security-Policy; look for script-src * or broad allowlists; enumerate <script src="..."> tags and their domains; test dynamic script loading via createElement or innerHTML; check for missing or weak CSP.
The use of eval() and new Function() to run code from the URL introduces serious vulnerabilities. When CSP allows unsafe-eval, attackers can inject and execute malicious scripts via the hash fragment.
How attackers identify: Search page source or bundled JS for eval(, new Function(, or setTimeout/setInterval with string args; check CSP header for unsafe-eval; test if URL hash or query params are passed to eval-like functions; trace data flow from user input to code execution.
https://www.nocdn.fakeorca.com/static#eval:dark()https://www.nocdn.fakeorca.com/static#fn:showBanner("Maintenance Till 23:59")https://www.nocdn.fakeorca.com/static#eval:alert("eval() Abused")https://www.nocdn.fakeorca.com/static#fn:alert("fn() Abused")script-src 'self' or trusted domains only; use nonces or hashes for legitimate inline scripts; omit unsafe-inline and unsafe-eval; set explicit default-src as fallback.script-src * or 'unsafe-inline' or 'unsafe-eval'; avoid broad allowlists; do not omit CSP entirely; avoid passing user input to eval() or new Function().
This test applies to a pure static page. No authentication, login, cookies, or backend logic are involved. The browser may still send the current page URL to external domains via the HTTP Referer header when the user navigates to or loads resources from external sites. This is browser-driven behaviour on static content—a security demonstration to observe what information may be leaked.
Test URL: Ensure the address bar shows https://www.nocdn.fakeorca.com/static?demo=referrer-test (add ?demo=referrer-test if needed) so the query parameter may be leaked in the Referer header.
This page includes an external link below. Click it to trigger an outbound request from the static page to an external domain (httpbin.org).
Referer header value (or its absence).no-referrer or strict-origin-when-cross-origin): The Referer is reduced (e.g. origin only) or omitted entirely.The table below shows what referrer information is sent based on the policy and destination type.
| Policy | Same Origin | Cross Origin (HTTPS) | Cross Origin (HTTP) | Test URL | Expected Referrer |
|---|---|---|---|---|---|
no-referrer |
No Referer sent | No Referer sent | No Referer sent | /static?demo=referrer-test |
No Referer sent |
same-origin |
Full URL sent | No Referer sent | No Referer sent | /static?demo=referrer-test |
No Referer sent |
origin |
Origin only | Origin only | Origin only | /static?demo=referrer-test |
https://www.nocdn.fakeorca.com |
strict-origin |
Origin only | Origin only | No Referer sent | /static?demo=referrer-test |
https://www.nocdn.fakeorca.com |
origin-when-cross-origin |
Full URL sent | Origin only | Origin only | /static?demo=referrer-test |
https://www.nocdn.fakeorca.com |
strict-origin-when-cross-origin |
Full URL sent | Origin only | No Referer sent | /static?demo=referrer-test |
https://www.nocdn.fakeorca.com |
unsafe-url |
Full URL sent | Full URL sent | Full URL sent | /static?demo=referrer-test |
https://www.nocdn.fakeorca.com/static?demo=referrer-test |
Referrer-Policy: strict-origin-when-cross-origin to send full URL for same-origin requests, origin only for cross-origin HTTPS, and no referrer for cross-origin HTTP.unsafe-url (leaks full URL including paths and query params); avoid omitting the header when URLs contain sensitive tokens or IDs.
❌ This test is not applicable. This is a static page that does not use Flash, Silverlight, or any plugin-based content. It does not serve crossdomain policy files like crossdomain.xml, nor does it load external resources through legacy plugins. The protection controlled by this setting is only relevant when such plugins are used to access data from another domain. Modern websites use CORS and CSP instead, making this check unnecessary.