当前位置: 首页 > news >正文

dvwa13——CSP Bypass

CSP(content security policy):

个人理解是类似于白名单的东西,通过http头部或者<meta>标签声明,来控制网页可以加载哪些外部资源

ps:Meta标签是html文档里的一种标签,用于提供网页的元信息

也就是说,CSP禁止所有未被明确允许的内容,只执行符合条件的资源

关键指令:script-src:

script-src指定哪些来源的JavaScript可以被浏览器加载和执行

LOW

先分析一下源码

通过这一行可以得到允许的来源

  • 'self ':同源脚本 (和当前页面有相同协议,域名,端口的js文件)
  • https://pastebin.com
  • hastebin.com
  • example.com
  • code.jquery.com
  • https://ssl.google-analytics.com 

这里选用https://pastebin.com来进行攻击,在newpaste里写

alert("rerelee")

Creat New Paste ,在出现的页面里面点击download,然后右键复制下载连接

 

 返回dvwa,在输入框里输入我们刚才复制的代码,然后Include提交!回显成功!

MEDIUM

观察源码,发现直接泄露了,那就稍作改动输入

 回显成功!

HIGH

看到high的界面,我们发现输入框已经没了.....

打开high.js,直接在里面进行修改

试了好几种方法都改动不了,于是打开控制台

 输入这一串把前面的js文件覆盖掉

solveSum = function(obj) {alert("rerelee"); // 强制弹窗if ("answer" in obj) {document.getElementById("answer").innerHTML = obj['answer'];}
};

回车后回显成功 

IMPOSSIBLE

分析源码:

<?php$headerCSP = "Content-Security-Policy: script-src 'self';";header($headerCSP);?>
<?php
if (isset ($_POST['include'])) {
$page[ 'body' ] .= "" . $_POST['include'] . "
";
}
$page[ 'body' ] .= '
<form name="csp" method="POST"><p>Unlike the high level, this does a JSONP call but does not use a callback, instead it hardcodes the function to call.</p><p>The CSP settings only allow external JavaScript on the local server and no inline code.</p><p>1+2+3+4+5=<span id="answer"></span></p><input type="button" id="solve" value="Solve the sum" />
</form><script src="source/impossible.js"></script>
';

优化的地方:

  1. csp更加严格,只允许加载同源脚本self
  2. 通过document.createElement动态加载脚本确保来源是可信的

❀❀❀ 完结撒花!!❀❀❀

相关文章:

  • Neo4j图数据库管理:原理、技术与最佳实践
  • Calendar类日期设置进位问题
  • jdbc查询mysql数据库时,出现id顺序错误的情况
  • 众趣科技与我爱我家达成战略合作:AI空间计算技术赋能重塑房产服务新范式
  • XDMA pcie环路测试
  • MapStruct注解完全手册:@Mapping参数详解与实战指南
  • 网络测试实战:金融数据传输的生死时速
  • 【Go】3、Go语言进阶与依赖管理
  • 软件上线前为什么要做性能测试?
  • QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
  • 使用 HTML +JavaScript 从零构建视频帧提取器
  • 【.net core】天地图坐标转换为高德地图坐标(WGS84 坐标转 GCJ02 坐标)
  • 电脑提示dll文件缺失怎么办 dll修复方法
  • 用电脑控制keysight示波器
  • 《一生一芯》数字实验三:加法器与ALU
  • ASP.NET Core使用Quartz部署到IIS资源自动被回收解决方案
  • Ubuntu崩溃修复方案
  • 购物商城网站 Java+Vue.js+SpringBoot,包括商家管理、商品分类管理、商品管理、在线客服管理、购物订单模块
  • 船舶事故海上搜救VR情景演练全场景 “复刻”,沉浸式救援体验​
  • 机器学习的数学基础:决策树
  • 云南做网站报价/国际军事新闻最新消息
  • 金融网站制作/360网址大全
  • 做路牌的网站/东莞网站制作公司
  • 瘦身网站开发目的/武汉seo招聘
  • 把网站内的文本保存到txt怎么做/超级外链工具有用吗
  • 太原网站建设丿薇/小红书网络营销策划方案