CodeQL 文档

未能使用安全 cookie

ID: java/insecure-cookie
Kind: problem
Security severity: 5.0
Severity: error
Precision: high
Tags:
   - security
   - external/cwe/cwe-614
Query suites:
   - java-code-scanning.qls
   - java-security-extended.qls
   - java-security-and-quality.qls

单击以在 CodeQL 存储库中查看查询

未能对 cookie 设置“secure”标志会导致以明文形式发送该 cookie。这使得攻击者更容易拦截该 cookie。

建议

始终使用 setSecure 在将 cookie 添加到 HttpServletResponse 之前对 cookie 设置“secure”标志。

示例

此示例展示了将 cookie 添加到 HttpServletResponse 的两种方法。第一种方法省略了“secure”标志的设置;第二种方法包括标志的设置。

public static void test(HttpServletRequest request, HttpServletResponse response) {
	{
		Cookie cookie = new Cookie("secret", "fakesecret");
		
		// BAD: 'secure' flag not set
		response.addCookie(cookie);
	}

	{
		Cookie cookie = new Cookie("secret", "fakesecret");
		
		// GOOD: set 'secure' flag
		cookie.setSecure(true);
		response.addCookie(cookie);
	}
}

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私