Cyber Risks · PortSwigger Research

Blind trust: stealing credentials through CSP

Summary: PortSwigger researcher Gareth Heyes built a Burp AT skill that reads a Content-Security-Policy header, checks allowed script hosts against a dataset of more than 350 known CSP bypass gadgets from cspbypass.com, and builds a proof of concept that exfiltrates to Burp Collaborator. A second check targets form-action, which does not inherit from default-src: when a policy sets form-action 'self' and the page reflects HTML unescaped, an injected form with no action submits credentials back to the same page, and meta tags then send the full URL, credentials included, to Collaborator in the Referer header without any script running.

Key Takeaway: A policy of default-src 'none' with form-action 'self' looks tight and blocks every script, yet it still leaks credentials through a self-posting form and a meta refresh that CSP does not restrict.

Read the original at PortSwigger Research ↗

Topics
Vulnerabilities & Patching
Related