`

JAVA年度安全 第四周 SESSION COOKIE HTTPONLY 标识

    博客分类:
  • J2EE
阅读更多
http://www.jtmelton.com/2012/01/25/year-of-security-for-java-week-4-session-cookie-httponly-flag/

What is it and why do I care?
Session cookies (或者包含JSSESSIONID的cookie)是指用来管理web应用的session会话的cookies.这些cookie中保存特定使用者的session ID标识,而且相同的session ID以及session生命周期内相关的数据也在服务器端保存。在web应用中最常用的session管理方式是通过每次请求的时候将cookies传送到服务器端来进行session识别。

HttpOnly标识是一个可选的、避免利用XSS(Cross-Site Scripting)来获取session cookie的标识。XSS攻击最常见一个的目标是通过获取的session cookie来劫持受害者的session;使用HttpOnly标识是一种很有用的保护机制。



what should I do about it ?
解决方案很简单。只需要在session cookie上添加HttpOnly标识就行了(最好是所有的cookie)。

下面是一个没有添加HttpOnly标识的session cookie:

Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H;

添加HttpOnlyFlag标识之后:

Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; HttpOnly;

如果你看过上周的文章,添加了secure和HttpOnly标识的cookie:

Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; HttpOnly; secure;

很简单。你可以人工设置这些参数,如果你在Servlet3或者更新的环境中开发,只需要在web.xml简单的配置就能实现这种效果。你要在web.xml中添加如下片段:

<session-config>

  <cookie-config>

    <http-only>true</http-only>

  </cookie-config>

</session-config>

而且如果使用了secure标识,配置应该如下

<session-config>

  <cookie-config>

    <http-only>true</http-only>

    <secure>true</secure>

  </cookie-config>

</session-config>

如上所述,解决这个问题很简单。每个人都应该解决这个问题。

References
http://blog.mozilla.com/webappsec/2011/03/31/enabling-browser-security-in-web-applications/
http://michael-coates.blogspot.com/2011/03/enabling-browser-security-in-web.html
https://www.owasp.org/index.php/HttpOnly
分享到:
评论

相关推荐

    Session Cookie的HttpOnly和secure属性

    其次,GlassFish2.x支持的是servlet2.5,而servlet2.5不支持Session Cookie的"HttpOnly"属性。不过使用Filter做一定的处理可以简单的实现HttpOnly属性。GlashFish3.0(支持servlet3.0)默认开启Session Cookie的...

    cookie设置httpOnly和secure属性实现及问题

    其中一种常见的做法就是通过设置Cookie的`httpOnly`和`secure`属性来增强安全性。这两个属性可以帮助开发者防止跨站脚本攻击(XSS)和中间人攻击(MITM)。 #### 二、属性介绍 ##### 1. `secure`属性 - **定义**: 当...

    session配置secure和httpOnly

    2. 使用Filter实现:自定义Filter,捕获请求,检查是否为安全连接,然后在响应头中设置`Set-Cookie`,包括`secure`和`HttpOnly`标志,以强制浏览器遵循安全策略。 总之,`secure`和`httpOnly`属性对于提高Web应用的...

    Retrieve HttpOnly Session Cookie in WebBrowser

    In order to help mitigate the risk of cross-site scripting, a new feature has been introduced in Microsoft Internet Explorer 6 SP1.... A cookie with this attribute is called an HTTP-only cookie.

    java实现多次HttpURLConnection共享session

    总结来说,Java实现多次HttpURLConnection共享session的关键在于正确处理Cookie,保存服务器返回的Session ID,并在后续请求中携带这个ID。通过这种方式,即使没有浏览器环境,也能模拟登录状态,爬取登录后的内容。...

    cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击.zip_js设置cookie值

    在网络安全领域,Cookie是Web应用用来存储用户状态和信息的一种机制。然而,随着网络攻击手段的不断升级,Cookie的安全性也成为了关注的重点。XSS(Cross-Site Scripting,跨站脚本)攻击就是其中一种常见威胁,它...

    Express中间件用于保护cookie通过HttpOnly并添加标记检查是否存在

    本文将深入探讨如何使用Express中间件来保护用户cookie,通过设置`HttpOnly`标志以及添加标记检查,以增强应用程序的安全性。 首先,理解`HttpOnly`标志至关重要。`HttpOnly`是服务器在设置cookie时可以添加的一个...

    完整获取webBrowser1.Document.Cookie取不到HttpOnly的Cookie

    完整获取webBrowser1的Cookie HttpOnly的Cookie

    SpringSession同时支持Cookie和header策略

    本文将深入探讨SpringSession如何支持Cookie和header策略,并解析`CookieHeaderHttpSessionStrategy.java`这个文件中的关键概念和技术细节。 首先,我们来看标题提及的“SpringSession同时支持Cookie和header策略”...

    session实质就是cookie

    - **安全性考虑**:Cookie可以通过设置`httpOnly`属性防止通过JavaScript脚本读取,提高安全性。 ##### 2.2 Cookie的使用方法 **Cookie对象创建**: ```java Cookie cookie = new Cookie("name", "value"); ``` *...

    cookie和session

    - 需要确保Cookie的安全性,例如设置`HttpOnly`属性以防止跨站脚本攻击(XSS)读取Cookie。 #### 四、使用Cookie进行用户认证 - 当用户登录成功后,服务器可以向客户端发送一个包含唯一标识符(如用户ID)的Cookie...

    一次搞明白 Session、Cookie、Token,面试问题全搞定.pdf

    标题中的"Session、Cookie、Token"是网络编程中重要的概念,它们与HTTP协议的状态管理、身份验证和安全有着紧密的联系。在Web开发中,这三者通常用于处理用户的会话和验证用户身份。面试官通常会询问这些概念的原理...

    mvc中cookie安全

    5. **Session和Cookie的区别**:虽然Cookie和Session都可以用来存储用户状态,但Session存储在服务器端,更安全且存储量大;而Cookie存储在客户端,可能暴露给用户或中间人攻击。 6. **Cookie的最佳实践**:避免...

    Cookie机制和Session机制

    - **安全性和隐私**:由于Cookie可以包含敏感信息,因此需要注意安全性,如设置`Secure`标志和`HttpOnly`标志以防止数据泄露。 #### 五、Session机制详解 - **定义**:Session机制是一种服务器端状态管理技术,...

    session与cookie的区别以及配置使用

    ### Session与Cookie的区别及配置使用 #### 一、概述 在Web开发中,尤其是在使用PHP进行后端开发时,为了实现用户状态管理、个性化设置等功能,开发者常常需要使用到两种技术:Session 和 Cookie。这两种技术虽然...

    第九节 cookie的httponly设置-01

    HttpOnly 是一种 Cookie 的安全机制,通过设置 HttpOnly,可以防止恶意脚本攻击。例如: ```php setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); ``` 在上面的代码中,设置 secure 参数为 true,可以防止...

    JAVA100例之实例81Cookie计数器

    - 可以使用HttpOnly标志防止JavaScript访问Cookie,减少跨站脚本攻击(XSS)的风险。 通过这个"JAVA100例之实例81Cookie计数器",开发者可以了解Cookie的基本操作,并将其应用于实际项目中。这个实例简单直观,...

    java中cookie的使用教程

    在Java编程语言中,Cookie是一种小型文本文件,用于在客户端和服务器之间传递信息,特别是保持用户状态和会话。本文将深入讲解Java中Cookie的使用方法,包括创建、设置、读取和删除Cookie,以及其在Web应用程序中的...

    .net 获取浏览器Cookie(包括HttpOnly)实例分享.docx

    HttpOnly Cookie 是一种特殊类型的 Cookie,用于保护用户的隐私和安全。下面,我们将详细介绍如何使用 .net 获取浏览器 Cookie,包括 HttpOnly 类型的 Cookie。 一、接口文件 在获取浏览器 Cookie 之前,我们需要...

Global site tag (gtag.js) - Google Analytics