近期 Appscan扫描出漏洞 加密会话(SSL)Cookie 中缺少 Secure 属性,已做修复,现进行总结如下:

1.1、攻击原理

  任何以明文形式发送到服务器的 cookie、会话令牌或用户凭证之类的信息都可能被窃取,并在稍后用于身份盗窃或用户伪装,此外,若干隐私法规指出,用户凭证之类的敏感信息要始终以加密的方式发送到 Web 站点。

1.2、修复建议

  给cookie添加secure属性

1.3、修复代码示例

  1)服务器配置为HTTPS SSL方式

  2)Servlet 3.0 (Java EE 6)的web.xml 进行如下配置:

  <session-config>
   <cookie-config>
    <secure>true</secure>
   </cookie-config>
  </session-config>

  3)ASP.NET的Web.config中进行如下配置:

   <httpCookies requireSSL="true" />

  4)php.ini中进行如下配置

  session.cookie_secure = True

  或者

  void session_set_cookie_params  ( int $lifetime  [, string $path  [, string $domain  
                                  [, bool $secure= false  [, bool $httponly= false  ]]]] )

  或者

  bool setcookie  ( string $name  [, string $value  [, int $expire= 0  [, string $path  
                 [, string $domain  [, bool $secure= false  [, bool $httponly= false  ]]]]]] )

  5)weblogic中进行如下配置:

  <wls:session-descriptor> 
      <wls:cookie-secure>true</wls:cookie-secure>
       <wls:cookie-http-only>true</wls:cookie-http-only>
   </wls:session-descriptor>

1.4、其它资料

  https://www.owasp.org/index.php/SecureFlag

1.5、实际修复方案

  方案一:项目使用的是WebShpere服务器,这个可以在服务器中进行设置:

  其实这种修复方式和5.2修复建议2)给web.xml加配置的方式是一样的。这两种修复方式都是一定可以通过Appscan扫描的,只不过19环境需要支持https和http两种协议,以上两种方案的话,会导致http协议下的Cookie不能传输,从而导致http协议下的部分功能不能使用。现在暂时是以牺牲http协议下的功能不使用为代价以这种方案通过扫描的。

  方案二:

  如果给Cookie配置了secure属性,那么这个Cookie能在https协议中传输,但是不能在http协议中传输。而实际系统应用中要支持两种协议,这里可以通过request.getScheme()获取是哪种协议(这种方式https协议获取的也是http,奇怪,可以通过下面的方式判断是否是https协议)

  String url = req.getHeader("Referer");

  if(url.startsWith("https")){}

  然后进行判断是否加这个属性:cookie.setSecure(true)。

  而这种方案的话,只能对后期自己代码响应的Cookie做设置,而不能对容器自动响应的Cookie做设置。因此这里没有使用。

Appscan漏洞 之 加密会话(SSL)Cookie 中缺少 Secure 属性的更多相关文章

  1. IBM AppScan 安全扫描:加密会话(SSL)Cookie 中缺少 Secure 属性 处理办法 分类: 数据安全 2014-06-28 11:35 2805人阅读 评论(0) 收藏

    问题描述: 原因分析: 服务器开启了Https时,cookie的Secure属性应设为true:   解决办法: 1.服务器配置Https SSL方式,参考:https://support.micro ...

  2. 会话cookie中缺少HttpOnly属性 解决

    会话cookie中缺少HttpOnly属性 解决   只需要写一个过滤器即可 1 package com.neusoft.streamone.framework.security.filter; 2 ...

  3. django-会话 cookie 中缺少HttpOnly 属性-安全加强

    如果django程序扫描到会话 cookie 中缺少 HttpOnly 属性问题,需要如何进行安全加强? https://docs.djangoproject.com/en/2.2/ref/setti ...

  4. 因改漏洞而引申了解的Cookie机制!

    近期因为修改漏洞:Appscan扫描漏洞:加密会话(SSL)Cookie中缺少Secure属性,而涉及到Cookie有关的知识,现结合该漏洞的修复过程和了解的cookie知识总结一下. 一.加密会话( ...

  5. Appscan漏洞之会话标识未更新

    本次针对 Appscan漏洞 会话标识未更新 进行总结,如下: 1. 会话标识未更新 1.1.攻击原理 在认证用户或者以其他方式建立新用户会话时,如果不使任何现有会话标识失效,攻击者就有机会窃取已认证 ...

  6. Chapter 1 Securing Your Server and Network(5):使用SSL加密会话

    原文:Chapter 1 Securing Your Server and Network(5):使用SSL加密会话 原文出处:http://blog.csdn.net/dba_huangzj/art ...

  7. Cookie中存放数据l加密解密的算法

    public class CookieUtil { /** * * @param response HttpServletResponse类型的响应 * @param cookie 要设置httpOn ...

  8. 如何修复AppScan漏洞

    [AppScan]修复漏洞一:启用不安全的HTTP方法 (中) 漏洞背景:      “启用了不安全的 HTTP 方法”属于“中”危漏洞.漏洞描述是:根据APPSCAN的报告,APPSCAN通过OPT ...

  9. 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...

随机推荐

  1. pip安装daemon模块

    E:\> pip install python-daemon Collecting python-daemon Downloading https://files.pythonhosted.or ...

  2. 解决mysql的in条件中参数是带引号的字符串的时候查询失效

    原文链接:https://blog.csdn.net/u014520745/article/details/54091256

  3. Docker网络模式介绍

    一.概述 docker的网络驱动有很多种方式,按照docker官网给出的网络解决方案就有6种,分别是:bridge.host.overlay.macvlan.none.Network plugins, ...

  4. Qt开发经验小技巧31-40

    代码判断MSVC编译器版本. if (_MSC_VER == 1800) MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) MSVC++ 12.0 _ ...

  5. C++内存管理5-处理new分配内存失败情况(转)

    C++内存管理5-处理new分配内存失败情况(转) endl; 参考博客: https://www.cnblogs.com/findumars/p/9905195.html

  6. java日期格式转换大全

    public class DateFormatUtils { private static Log logger = LogFactory.getLog(DateFormatUtils.class); ...

  7. 关于aardio修改注册表默认键值的问题(转)

    今天用aardio做注册表练习  遇到一个问题.  就是不知道怎么用aardio修改已存在的默认的注册表键的值.. 导出注册信息看了一下 默认的和普通的键值不太一样  形式是  @="要写入 ...

  8. 【MongoDB学习之四】索引 聚合 备份与恢复 监控

    环境 MongoDB 4.0 CentOS 6.5_x64 一.索引语法ensureIndex()方法基本语法格式如下所示:>db.COLLECTION_NAME.ensureIndex({KE ...

  9. scala 样例类

    一.case class 的特征 package com.jason.qianfeng case class Message(sender: String, receiver: String, bod ...

  10. ajax处理csrf的三种方式

    方式一: $.post({ url: '/get_result/', data: { value0: $('#v1').val(), value1: $('#v2').val(), csrfmiddl ...