Web渗透测试之XSS跨站脚本攻击 跨域是什么?同源机制又是什么? cors以及Jsonp是什么 一篇文章给你说明白

目录

Cookie的Httponly属性和逃过方式

浏览器同源机制

cors跨域和jsonp跨域和跨域标签

Cors跨域 - 跨源

Jsonp 跨域

jsonp跨域原理:

说明:


Cookie的Httponly属性和逃过方式

  • Xss攻击手段 最常用的目的获取cookie

Cookie中设置了 httponly=True 方式js操作获取cookie
Httponly 设置完成后是document.cookie 是拿不到这个cookie的
Httponly 不是方式xss攻击的 而是防止xss攻击代码中的js代码在浏览器获取cookie信息

登陆网站 cookie登陆 用户名密码登陆

  • 表单劫持
  • 网站劫持
  • 登陆页面有xss漏洞 最好是存储类型的
  • 获取浏览器的保存的密码 xss攻击行为

浏览器同源机制

  • 请求可以过去 响应也可以过去 但是数据不能回去

    • 为了避免恶意请求别人的网站的情况,浏览器出了一个同源机制

  • IP地址 域名都是不一样的唯一的
    • 页面数据如果没有安全机制,是可以拿别人的数据进行操作。
      • 协议
      • 域名或者叫主机名或者IP
      • 端口
  • 相同的页面之间是可以互相请求并正常拿到响应数据

浏览器不会做响应数据的拦截 防止恶意请求别人的数据

同源机制

  • 实例演示:

非同源网站 script scr 不受同源机制的影响

--- 浏览器认为静态文件是安全的

--- 静态资源直接不受影响


cors跨域和jsonp跨域和跨域标签

  • 绕过同源机制 进行数据交互 跨域
  • 同源机制 会影响网站之间的数据交互 绕过同源机制
  • 那么这个时候我们需要跨域

Cors跨域 - 跨源

  • 同源一般限制的都是ajax请求
  • 浏览器一端加了 跨域这段代码就是运行所有网站来请求服务端提供的数据。


Jsonp 跨域

  • jsonp其实并没有用到什么黑魔法,能达到跨域这种效果

    • 无非是利用script标签自身的跨域能力。

  • 我们知道,img,script,这种标签如果有相应的src
  • 那么便会发起一个htttp请求来请求相应的资源
  • 如果有script标签对应的路径是一个js文件
  • 那么在下载完毕这个js之后会马上执行

jsonp跨域原理:

  1. 首先声明一个js函数,这是我们的回调函数,比如函数名称为jaden

  2. 再基于script标签的src属性的跨域特性来发送网络请求。

  3. 携带一个回调函数参数,函数名称为我们声明的jaden,服务端响应回了

  4. jaden('数据'),那么我们自己声明的jaden函数就拿到了服务端的响应数据。


  • 说明:

  1. jsonp 基于script标签的src属性发送请求
  2. 携带一个回调函数名称
  3. 服务端调用这个函数响应数据
  4. 响应回来之后回调js中声明的这个函数

示例

  • 钓鱼的时候用 同源跨域钓鱼

  • 网页跨码

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

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

相关文章

【C++】字符串的 += 和 + 运算详解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯1. 字符串的 和 基本用法1.1 的用法1.2 的用法 💯2. 示例代码的剖析与解释代码分析 💯3. 底层实现与性能分析3.1 的实现原理3.2 的实现原理3.…

CCLINK转MODBUS-TCP协议转换网关模块应用案例

大家好,今天我们要聊的是生产管理系统中的CCLINK和MODBUS-TCP协议,它们的不同使得数据互通比较困难,但捷米特JM-CCLK-TCP网关的出现改变了这一切。 为了实现整个生产线的协同工作,需要这些设备之间能够进行有效的数据交换和指令传…

Go学习:多重赋值与匿名变量

1. 变量的多重赋值 1.1 基本语法格式 go语言中,可以将多个赋值语句 合并成 一句,比如: a : 10 b : 20 c : 30//a,b,c三个变量的赋值语句可以简练成以下格式a, b, c : 10, 20, 30 1.2 交换变量值 当需要交换两个变量的值时&#…

Spring——依赖注入之p命名空间和c命名空间

p命名空间 其实就是Set注入 只不过p命名空间写法更简洁 p可以理解为 property标签的首字母p p命名空间依赖于set方法 依赖引入 使用前需要再配置文件头文件中引入p命名空间的依赖: ** xmlns:p“http://www.springframework.org/schema/p” ** 用法 在bean标签…

【Linux】Linux常见指令(上)

个人主页~ 初识Linux 一、Linux基本命令1、ls指令2、pwd命令3、cd指令4、touch指令5、mkdir指令6、rmdir指令7、rm指令8、man指令9、cp指令10、mv命令 Linux是一个开源的、稳定的、安全的、灵活的操作系统,Linux下的操作都是通过指令来实现的 一、Linux基本命令 先…

【Vue.js 组件化】高效组件管理与自动化实践指南

文章目录 摘要引言组件命名规范与组织结构命名规范目录组织 依赖管理工具自动化组件文档生成构建自动引入和文档生成的组件化体系代码结构自动引入组件配置使用 Storybook 展示组件文档自动生成 代码详解QA 环节总结参考资料 摘要 在现代前端开发中,组件化管理是 V…

【Arthas命令实践】heapdump实现原理

🎮 作者主页:点击 🎁 完整专栏和代码:点击 🏡 博客主页:点击 文章目录 使用原理 使用 dump java heap, 类似 jmap 命令的 heap dump 功能。 【dump 到指定文件】 heapdump arthas-output/dump.hprof【只 …

继承(补充)

大家好,今天补充一下继承上执行顺序的一点知识点,(编者这两天要完成学院任务可能有点敷衍,抱歉抱歉),那么我们来看看。 [继承关系上的执行顺序] 1、父类静态代码优先于子类静态代码块执行,且是最早执行. …

【Rust自学】11.5. 在测试中使用Result<T, E>

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 11.5.1. 测试函数返回值为Result枚举 到目前为止,测试运行失败的原因都是因为触…

【HTML+CSS+JS+VUE】web前端教程-16-HTML5新增标签

扩展知识 div容器元素,也是页面中见到的最多的元素 div实现

python学习笔记—16—数据容器之元组

1. 元组——tuple(元组是一个只读的list) (1) 元组的定义注意:定义单个元素的元组,在元素后面要加上 , (2) 元组也支持嵌套 (3) 下标索引取出元素 (4) 元组的相关操作 1. index——查看元组中某个元素在元组中的位置从左到右第一次出现的位置 t1 (&qu…

设计模式-结构型-桥接模式

1. 什么是桥接模式? 桥接模式(Bridge Pattern) 是一种结构型设计模式,它旨在将抽象部分与实现部分分离,使它们可以独立变化。通过这种方式,系统可以在抽象和实现两方面进行扩展,而无需相互影响…

Linux 虚拟机与windows主机之间的文件传输--设置共享文件夹方式

Linux 虚拟机与windows主机之间的文件传输 设置共享文件夹方式 在虚拟机中打开终端查看是否已经新建完成,到文件夹中找到它看一下,这个位置就能存储东西啦

期末概率论总结提纲(仅适用于本校,看文中说明)

文章目录 说明A选择题1.硬币2.两个事件的关系 与或非3.概率和为14.概率密度 均匀分布5.联合分布率求未知参数6.联合分布率求未知参数7.什么是统计量(记忆即可)8.矩估计量9.117页12题10.显著水平阿尔法(背公式就完了) 判断题11.事件…

Inno Setup制作安装包,安装给win加环境变量

加 ; 加环境变量,开启,下面一行 ChangesEnvironmentyes 和 ; 加环境变量wbrj变量名,{app}\project\bin变量值,{app}\后接文件名,{app}表示安装路径。下面一行,{olddata};原来的值上拼接 Root: HKLM; Subkey: “SYSTEM\…

JavaScript -- 数组详解(使用频率高)【数组专题】

文章目录 前言一、创建数组1.1 使用Array构造函数1.2 使用数组字面量表示法1.3 ES6语法转换数组1.3.1 from( )用于将类数组结构转换为数组实例1.3.2 of( )用于将一组参数转换为数组实例 二、数组常用方法2.1 复制和填充2.1.1 copyWithin( )2.1.2 fill( ) 2.2 数组转换2.2.1 toS…

springboot项目部署至linux

1.修改pom.xml 确认是否有以下代码&#xff0c;没有请进行添加&#xff0c;mainClass改成你的启动类 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.ve…

STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显

资料下载地址&#xff1a;STM32WIFI获取网络时间8位数码管显示0.96OLED 1、项目介绍 主控芯片STM32C8T6 接线&#xff1a;串口1&#xff1a;PA9 PA10 OELD &#xff1a;PB6 PB7 数码管使用&#xff1a;MAX7219 8位数码管 Max7219_pinCLK PAout(5) Max7219_pinC…

1688平台商品关键词搜索的多样性与Python爬虫应用实践

在当今这个信息化、数字化飞速发展的时代&#xff0c;电子商务平台已经成为人们日常生活中不可或缺的一部分。而1688作为国内知名的B2B电商平台&#xff0c;凭借其庞大的商品种类和丰富的供应链资源&#xff0c;为无数商家和消费者提供了便捷的交易渠道。除了广受关注的女装品类…

记录将springboot的jar包和lib分离,使用docker-compose部署

本文讲诉如何把jar里的lib依赖包独立出来&#xff0c;方便更新服务时&#xff0c;缩小jar的体积&#xff0c;下面以若依的system服务为例&#xff0c;配置中的路径请酌情修改&#xff0c;主要提供大致配置逻辑 第一步&#xff1a;修改项目的pom.xml&#xff0c;调整build的配…