DVWA之CSP Bypass

本文介绍了Content-Security-Policy(CSP)的概念,它是用来防御XSS攻击的一种机制,通过设定白名单策略限制页面可执行的外部资源。CSP可以通过HTTP头部或meta标签启用,并通过示例展示了不同级别的CSP配置,包括禁止所有内联脚本和使用nonce保护内联脚本执行。此外,文章还讨论了JSONP的使用以及如何构造POC绕过CSP限制。

理论

CSP(Content Security Policy):即内容安全策略。点击这里有详细的介绍。
不过简单了解下就是指:开发者在开发过程中设置了一个类似于白名单的策略,要信任某个页面,哪些外部资源可以执行,哪些不可以,我们只需要配置规则,如何拦截由浏览器自己来实现。这可以从根本上防御XSS,如果CSP配置的好,可以从根本上杜绝XSS,相较于XSS漏洞,XSS更侧重于不能做哪些事,而CSP是只有哪些事可以做。

通常有两种方式来开启 CSP,一种是设置 HTTP 首部中的 Content-Security-Policy,另一种 是设置 meta 标签的方式 ,当启用CSP后,不符合CSP的外部资源会被阻止加载。

低级

查看源码

<?php

$headerCSP = "Content-Security-Policy: script-src 'self' https://pastebin.com hastebin.com www.toptal.com example.com code.jquery.com https://ssl.google-analytics.com ;"; // allows js from self, pastebin.com, hastebin.com, jquery and google analytics.

header($headerCSP);

# These might work if you can't create your own for some reason
# https://pastebin.com/raw/R570EE00
# https://www.toptal.com/developers/hastebin/raw/cezaruzeka

?>
<?php
if (isset ($_POST['include'])) {
$page[ 'body' ] .= "
    <script src='" . $_POST['include'] . "'></script>
";
}
$page[ 'body' ] .= '
<form name="csp" method="POST">
    <p>You can include scripts from external sources, examine the Content Security Policy and enter a URL to include here:</p>
    <input size="50" type="text" name="include" value="" id="include" />
    <input type="submit" value="Include" />
</form>
';

从http头部也可以得到允许什么访问。

引用和提供了关于CSP(Content-Security-Policy)的信息,CSP是一种用于增强Web应用程序安全性的安全策略。它通过限制页面中可以加载和执行的资源来保护网站免受恶意代码的攻击。引用中的代码示例展示了如何在PHP中设置CSP头,并限制只能从'self'加载脚本。然而,在引用中也提到了'unsafe-inline'和'nonce-TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA='这两个选项,它们分别允许在页面上使用内联脚本和指定非标准<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [DVWA13_Content Security Policy (CSP) Bypass(内容安全策略绕过)](https://blog.youkuaiyun.com/weixin_44193247/article/details/123452369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [DVWA------(CSP) Bypass](https://blog.youkuaiyun.com/m0_65712192/article/details/128293451)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [DVWACSP Bypass](https://blog.youkuaiyun.com/weixin_42075643/article/details/113928878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值