最近,测试环境上的项目被360测试人员检测出来有一个CORS漏洞,以下记录下漏洞问题与解决方法。
一、低危漏洞:CORS漏洞问题
- 测试人员访问某个url,将请求头中的Origin字段修改为任意值,结果仍然能获得正确的响应报文,就说明有CORS漏洞。
- 当CORS的设置不正确时,就会带来安全问题;当响应头中的Access-Control-Allow-Origin设置为null或*时,表示信任任何域,这时候就可能引入安全问题。
- 修复方法是合理配置CORS,判断Origin是否合法;具体说就是不让在nginx或tomcat中配置【Access-Control-Allow-Origin *】或【Access-Control-Allow-Origin null】。
二、解决方法
1.在nginx配置文件中配置:
(1)一种写法,用*;
location / {
add_header Access-Control-Allow-Origin *.xxx.com;
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
}
(2)另一种写法,指定域名;
location / {
add_header Access-Control-Allow-Origin http://www.hao123.com;
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
}

本文详细介绍了CORS(跨源资源共享)漏洞及其潜在的安全风险,提供了解决该问题的四种不同nginx配置方法,包括指定域名、IP与端口以及使用正则表达式。同时,还提及了在Tomcat中的CORS配置方式,并强调了合理配置Access-Control-Allow-Origin的重要性,以防止信任任何域导致的安全问题。此外,文章还分享了自定义nginx日志格式以便监控Origin字段的方法。
3236

被折叠的 条评论
为什么被折叠?



