CORS
漏洞描述
安全编码
CORS(Cross-origin resource sharing),即跨域资源共享,用于绕过SOP(同源策略)来实现跨域资源访问的一种技术。 CORS漏洞则是利用CORS技术窃取用户敏感数据,CORS漏洞的成因是服务端配置的规则不当所导致的,服务器端没有配置Access-Control-Allow-Origin等字段
配置Access-Control-Allow-Origin字段
运行
漏洞代码
public String corsVul(HttpServletRequest request, HttpServletResponse response) { String origin = request.getHeader("origin"); response.setHeader("Access-Control-Allow-Origin", origin); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS"); return "cors vul"; }
运行
安全代码
@CrossOrigin(origins = {"127.0.0.1", "http://127.0.0.1", "https://127.0.0.1"})