HTTP 헤더 문법
Content-Security-Policy: <policy-directive>; <policy-directive>
<policy-directive>
는 <directive>
<value>
로 구성된다.
Content-Security-Policy: default-src 'self'
Content-Security-Policy: default-src 'self' *.mailsite.com; img-src *
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; ">
웹 사이트가 파일 업로드, 다운로드 기능을 제공하는 경우, 공격자가 다운로드 받을 때 특정한 스크립트를 띄우도록 할 수 있음
<script src="/download_pdf_file.php?id=990088"></script>
Content-Security-Policy: base-uri 'none';
CSP bypass 관련 문제
CONFidence 2020 CTF Finals에서 Yet Another Yet Another Cat Challenge 문제명으로 CSP를 우회하는 문제가 출제된 적이 있다.
Content-Security-Policy: default-src 'none'; form-action 'self'; frame-ancestors 'none'; style-src https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css; img-src 'self'; script-src 'nonce-cyotMpPGPBs7xFYiedGn3Q' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/; frame-src https://www.google.com/recaptcha/