| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> DVWA关卡12:Content Security Policy (CSP) Bypass(存储型XSS) -> 正文阅读 |
|
[JavaScript知识库]DVWA关卡12:Content Security Policy (CSP) Bypass(存储型XSS) |
目录 CSP(Content Security Policy,内容安全策略)是一种用来防止XSS攻击的手段,通过在头部Content-Security-Policy 的相关参数,来限制未知(不信任)来源的JavaScript脚本的执行,从而达到防止xss攻击的目的。一般的xss攻击,主要是通过利用函数过滤/转义输入中的特殊字符,标签,文本来应对攻击。CSP则是另外一种常用的应对XSS攻击的策略。其实质就是白名单机制,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。 Low?源码:
从源代码中 ? ?因此这里可以利用本地,对此漏洞进行利用。在本地C:\phpStudy\WWW\DVWA\vulnerabilities\csp(phpstudy安装目录下)中建立一个x文件,然后在网页中进行输入文件名: ? ?会出现弹窗。 Medium源码:
这里把其它的安全站点都去掉了,加上了unsafe-inline,如果加上这个参数,就不会阻止内联脚本,如内联< script>元素,javascript:URL,内联事件处理程序(如onclick)和内联<style>元素,必须包括单引号,没太明白 。当然这是被认为不安全的。另外,后面还有一个nonce,规定了允许的的内联脚本块。 漏洞利用:直接使用源码中推荐的 High?源码:
csp页面已经给了提示,要我们通过给出的路径上传文档;使用bp抓包,发现csp头只有一个字段:script-src ‘self’:服务器只信任自己的域名,只允许加载本界面的JavaScript代码: 此外,通过post方式中的include参数提交,构造payload利用post方式,include=<script src="source/jsonp.php?callback=alert('hello111');"></script> :? Impossible源码:
Unlike the high level, this does a JSONP call but does not use a callback, instead it hardcodes the function to call:不像高级那样,此操??作执行JSONP调用,但不使用回调,而是对要调用的函数进行硬编码。 The CSP settings only allow external JavaScript on the local server and no inline code:CSP设置仅允许本地服务器上使用外部JavaScript,而不能使用内联代码。 代码中s.src = "source/jsonp_impossible.php";解决了callback不可控的问题。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:17:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |