我的网站被审核时出现以下错误。我使用jsp,servlets,java类开发了我的网站。
会话Cookie中缺少HttpOnly属性
安全风险
可以窃取或操纵客户会话和cookie,这可能是 用于冒充合法用户,允许黑客查看或更改用户记录, 并以该用户身份执行交易
原因:
Web应用程序在没有HttpOnly的情况下设置会话cookie 属性
补救任务:
将“HttpOnly”属性添加到所有会话cookie
我在点击提交按钮时将java安全令牌作为隐藏参数传递。如何在该令牌中添加此HttpOnly属性?
答案 0 :(得分:12)
HttpOnly属性设置在Cookies上,这些属性(通常)从服务器传递到客户端,而不是从客户端传递到服务器。 HttpOnly不是您可以在表单或表单参数上设置的属性。这里客户端是浏览器,服务器是运行Java应用程序的Java EE服务器。
Cookie通常由服务器创建,传递给浏览器然后传回。现在可以使用JavaScript创建和操作Cookie,这可能会有所帮助,但也可能是一个安全漏洞。所以an HttpOnly Cookie is only accessible by the server,或者换句话说,客户端JavaScript无法访问它,从而保护您的网站免受某些形式的XSS攻击。因此浏览器将存储并返回一个HttpOnly Cookie,但它不会改变它或允许您在客户端上创建它;必须在服务器上创建HttpOnly Cookie。
如果您正在使用JSP,那么您的服务器可能会自动创建Cookie来为您管理会话;这是您需要设置HttpOnly属性的cookie。 The method to set HttpOnly on your SESSIONID Cooke will be container specific.
答案 1 :(得分:2)
你能在会话cookie中设置“HttpOnly”属性吗?
我发现此代码在https://www.owasp.org/index.php/HttpOnly
上执行此操作<session-config>
<cookie-config>
<http-only>true</http-only>
</cookie-config>
<session-config>