XSS进阶之CSP绕过

news2025/7/5 6:22:05

目录

  • 预备知识
  • 实验目的
  • 实验环境
  • 实验步骤一
  • 实验步骤二
  • 实验步骤三

预备知识

1.了解Javascript、PHP和CSP的一些特性,比如“strict-dynamic”。
2.CSP:实质就是白名单制度,它规定哪些外部资源可以加载和执行。它的实现和执行全部由浏览器完成。资源加载通过“script-src”、“style-src”等选项来限制外部资源的加载。“script-src”限制外部脚本的加载,strict-dynamic特性允许将信任关系传递给由受信任的script动态生成的脚本,忽略了script-src的白名单,使得之后生成的脚本可以执行。
在这里插入图片描述

实验目的

1.理解xss工作原理。
2.了解ajaxify框架的特殊语法。
3.了解CSP的一些特性。
4.怎么根据ajaxify框架和CSP的特性去实现xss。
5.培养学生的独立思考能力。

实验环境

浏览器/服务器环境:
服务器配置:apache+php。
使用浏览器打开实验网址(http://localhost),可以看到实验练习系统。

实验步骤一

本实验分为三个任务。
CSP POC部分代码:
在这里插入图片描述
打开桌面上的Sublime可以查看相关代码:
在这里插入图片描述
上述POC的作用是使我们注入的代码成为受信任的js脚本,从而绕过CSP的白名单的限制。
任务描述:关键代码:
在这里插入图片描述
在这里插入图片描述
尝试构造语句使浏览器执行弹出对话框的脚本。

实验步骤二

任务描述:关键代码:
在这里插入图片描述
在这里插入图片描述
尝试构造语句使浏览器执行弹出对话框的脚本。

实验步骤三

任务描述:关键代码:
在这里插入图片描述
在这里插入图片描述
本实验基于Ajaxify框架,Ajaxify框架会将所有带有class="document-script"属性的<div>标签转化为JavaScript脚本元素。CSP中的strict-dynamic特性允许将信任关系传递给动态生成的脚本,可以绕过script-src白名单限制,使得当从客户端插入JS时可以被解释执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python实战指西<1>pygame安装,以及vscode

目录 1&#xff0c;安装pygame 1.1&#xff0c;&#xff08;如果前一个没反应的化&#xff09; 1.2如果飘红字 1&#xff0c;检查是否开了网络代理&#xff08;不要开&#xff09; 2&#xff0c;检查是否有pip模块更新需要 2.这里顺便记录一下vscode 蛇蛇的环境搭载 2.1首…

Postgresql实验系列(4)SIMD提升线性搜索性能24.5%(附带PG SIMD完整用例)

概要 接上一篇《Postgresql引入SIMD指令集》 PG引入SIMD执行集后具体有多大性能提升&#xff1f;本篇抽取PG的simd库&#xff0c;对比线性搜索场景的性能&#xff1a; 测试场景&#xff08;文章最后提供完整程序&#xff09; 构造一个存有14亿数字的数组 uint32 cnt 14100…

【python3】3.函数、类、模块

2022.11.15 本学习内容总结于莫烦python:3.函数、类、模块 https://mofanpy.com/tutorials/python-basic/interactive-python/function1. Function 函数 我常会重复写一些功能&#xff0c;比如查询文件时间&#xff0c;查询文件名字等等.后续我只需要引用到这个功能&#xff0…

Flink架构重要概念解析-超详理解

文章目录&#x1f48e; 1.1 系统架构1.1.1 整体构成1.1.2 作业管理器&#xff08;JobManager&#xff09;1.1.3 任务管理器&#xff08;TaskManager&#xff09;&#x1f680;1.2 作业提交流程1.2.1 高层级抽象视角1.2.2 独立模式&#xff08;Standalone&#xff09;1.2.3 YARN…

网页数据采集系统-怎样利用爬虫爬网站数据

随着社会不停地发展。人们也是越来越离不开互联网&#xff0c;今天小编就给大家盘点一下免费的网页数据采集系统&#xff0c;只需要点几下鼠标就能轻松爬取数据&#xff0c;不管是导出excel还是自动发布到网站都支持。详细参考图片一、二、三、四&#xff01; 企业人员 通过爬…

【直播预告】相机模型与标定——Real world超级公开课

导言 《Realworld超级公开课》是奥比中光3D视觉开发者社区打造的品牌活动之一&#xff0c;聚焦于3D视觉传感技术。每期课程邀请奥比中光及生态合作伙伴的技术专家&#xff0c;以线上线下相结合的授课形式&#xff0c;面向高校与人工智能企业的开发者&#xff0c;分享3D视觉技术…

线程的“结束”

【一道概率很高的面试题】&#xff1a; 如何优雅的结束一个线程&#xff1f; 上传一个大文件&#xff0c;正在处理费时的计算&#xff0c;如何优雅的结束这个线程呢&#xff1f; 【stop方法】&#xff1a; 【为何不建议使用stop呢&#xff1f;】&#xff1a; 因为很容易产生…

【附源码】计算机毕业设计JAVA成绩分析系统

【附源码】计算机毕业设计JAVA成绩分析系统 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA mybati…

ORA-01940 无法删除当前已连接的用户之解决方案(脚本)

第一部分&#xff1a;配置数据库连接 1. 安装ODBC yum -y install unixODBC unixODBC-devel 2. 安装Oracle-instantclient #以下所有操作使用root账号执行 #创建目录 mkdir -p /opt/oracle cd /opt/oracle #下载odbc安装包 wget https://download.oracle.com/otn_software…

计算机毕业设计ssm+vue基本微信小程序的好物推荐分享系统

项目介绍 我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,好物分享系统小程序被用户普遍使用,为方便用户能够可以随时进行好物分享系统小程序的数据信息管理,特开发了基于好物分…

做食品能入驻Lazada吗?带你解锁东南亚当地热销及需求食品系列

中国的电商领域已经趋于饱和状态&#xff0c;中国食品电商领域已经呈现出存量的趋势了&#xff0c;例如&#xff1a;良品铺子、三只松鼠、百草味、口水娃、盼盼等国内知名品牌已经占比了国内大部分的市场份额&#xff0c;跟着巨头抢市场 无疑是很难的&#xff0c;那么中国这么多…

红外线热像仪的热成像质量介绍

摘要 毫无疑问&#xff0c;你在过去几年的某个时候&#xff0c;购买了数位相机来更换旧的胶卷相机。你的购买可能受到你的信念的影响&#xff0c;即在尝试判断提供的所有相机选择之间的图像质量时&#xff0c;像素数是最重要的规格。 任何阅读过消费者报告及其对数位相机的详…

CVE-2020-1472-ZeroLogon复现

CVE-2020-1472-ZeroLogon复现 简介 Netlogon使用的AES认证算法中的vi向量默认为0&#xff0c;导致攻击者可以绕过认证&#xff0c;同时其设置域控密码的远 程接口也使用了该函数&#xff0c;导致可以将域控中保存在AD中的管理员password设置为空 影响版本 Windows Server 2…

大牛耗时两年完成的实战手册。Elasticsearch实战,掌握这些刚刚好!

记得刚接触Elasticsearch的时候&#xff0c;没找啥资料&#xff0c;直接看了遍Elasticsearch的中文官方文档&#xff0c;中文文档很久没更新了&#xff0c;一直都是2.3的版本。最近又重新看了遍6.0的官方文档&#xff0c;由于官方文档介绍的内容比较多&#xff0c;每次看都很费…

10.基础备份与时间点恢复

目录 基础备份 时间点恢复 时间线 基础备份与时间线都是为了时间点恢复。 基础备份 基础备份的目的是备份当前的数据库集簇的快照&#xff0c;结合归档日志一起可以恢复至任意的时间点。 基础备份通过pg_start_backup命令开始为基础备份做准备&#xff0c;它会: 强制进行整…

[附源码]java毕业设计基于web的停车收费管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

dot net 杂谈之一

文章目录一、使用vscode开发.net core程序二、创建解决方案三、反射3.1 反射应用场景一3.2 反射应用场景二一、使用vscode开发.net core程序 安装如下插件&#xff1a; 1、vscode-solution-explorer 2、.NET Core Extension Pack 3、搜索nuget工具包并安装 二、创建解决方案…

股票l2数据接口中的逐单跟逐笔是什么意思?

股票l2数据接口中的逐单跟逐笔是什么意思&#xff1f; 【逐单统计】是按成交委托单资金流转情况来统计&#xff0c;特大资金买卖差大单资金买卖差中单资金买卖差小单资金买卖差0。是双向统计&#xff0c;对于每单交易同时统计买卖双方&#xff0c;一定程度上反应了资金在不同类…

Redis+AOP实现一个可通用的分布式锁——改进

目录前言方案改进思考与总结前言 上一次利用Redis分布式锁解决了一个并发问题&#xff1a; 上篇&#xff1a;利用Redis分布式锁解决集群服务器定时任务重复执行问题 代码可以直接从上篇文章中拿到&#xff0c;本篇文章仅对上次文章内容做进一步改进 主要思想是&#xff1a;利…

一篇读懂|Linux系统平均负载

我们经常会使用 top 命令来查看系统的性能情况&#xff0c;在 top 命令的第一行可以看到 load average 这个数据&#xff0c;如下图所示&#xff1a; load average 包含 3 列&#xff0c;分别表示 1 分钟、5 分钟和 15 分钟的 系统平均负载。 对于系统平均负载这个数值&#x…