漏洞介绍
概述:CORS,跨域资源共享(Cross-origin resource sharing),是H5提供的一种机制,WEB应用程序可以通过在HTTP增加字段来告诉浏览器,哪些不同来源的服务器是有权访问本站资源的,当不同域的请求发生时,就出现了跨域的现象。当该配置不当的时候,就导致资源被恶意操作
潜在危害:中
CORS漏洞修复的时候,网上有发现太多的漏洞修复方案,走了很多弯路,试了好多种方案都没办法修复,要么没生效or容易绕过,下面这个修复方式亲测可以修复(修改下面域名即可),供参考:
nginx CORS配置
location / {
set $flag 0;
if ($http_origin = '')
{
set $flag "${flag}1";
}
if ($http_origin !~* ^(http|https)://www\.abc\.com$){
set $flag "${flag}1";
}
if ($flag = "01"){
return 403;
}
if ($http_origin ~* ^(http|https)://www\.abc\.com$) {
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Methods GET,POST;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Headers DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control,Content-Type;
}
}