本次针对 Appscan漏洞 会话标识未更新 进行总结,如下:

1. 会话标识未更新

1.1、攻击原理

  在认证用户或者以其他方式建立新用户会话时,如果不使任何现有会话标识失效,攻击者就有机会窃取已认证的会话,此漏洞可结合XSS获取用户会话对系统发起登录过程攻击。

1.2、APPSCAN测试过程

  AppScan会扫描“登录行为”前后的Cookie,其中会对其中的会话信息进行记录,在登录行为发生后,如果cookie中这个值没有发生变化,则判定为“会话标识未更新”漏洞

1.3、修复建议

  1. 始终生成新的会话,供用户成功认证时登录,防止用户操纵会话标识,请勿接受用户浏览器登录时所提供的会话标识;在对新用户会话授权之前废除任何现有会话标识。

  2. 对于不为会话标识 cookie 生成新值的平台(例如 ASP),请利用辅助 cookie。在该方法中,将用户浏览器上的辅助 cookie 设置为随机值,并将会话变量设置为相同值。如果会话变量和 cookie 值从不匹配,请废除会话,并强制用户再次登录。

  3. 若使用的是Apache Shiro安全框架,可使用SecurityUtils.getSubject().logout()方法,参考:http://blog.csdn.net/yycdaizi/article/details/45013397

1.4、修复代码样例

  在登陆页面中添加如下代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    request.getSession().invalidate();//清空session
    Cookie cookie = request.getCookies()[0];//获取cookie
    cookie.setMaxAge(0);//cookie过期
%>

  在验证登陆成功前添加如下代码:

try {
    request.getSession().invalidate();  
    if (request.getCookies() != null) {  
       Cookie cookie = request.getCookies()[0];// 获取cookie  
       cookie.setMaxAge(0);// cookie过期  
    }  
} catch (Exception e) {  
     e.printStackTrace();  
session = request.getSession(true); 

1.5、例外处理

  登录前后会话确实已更新,则可视为误报

1.6 、实际修复方案

在登录成功之后,加入图上红框中的代码。

Appscan漏洞之会话标识未更新的更多相关文章

  1. 会话标识未更新(AppScan扫描结果)

    最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中此篇文章是关于会话标识未更新问题的.下面就把这块东西分享出来. 原创文章,转载请注明 ----------------- ...

  2. java或者jsp中修复会话标识未更新漏洞

    AppScan会扫描“登录行为”前后的Cookie,其中会对其中的JSESSIONOID(或者别的cookie id依应用而定)进行记录.在登录行为发生后,如果cookie中这个值没有发生变化,则判定 ...

  3. 如何修复AppScan漏洞

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

  4. WebApi -用户登录后SessionId未更新

    描工具检测出.net的程序有会话标识未更新这个漏洞 用户尚未登录时就有session cookie产生.可以尝试在打开页面的时候,让这个cookie过期.等到用户再登陆的时候就会生成一个新的sessi ...

  5. Appscan漏洞 之 加密会话(SSL)Cookie 中缺少 Secure 属性

    近期 Appscan扫描出漏洞 加密会话(SSL)Cookie 中缺少 Secure 属性,已做修复,现进行总结如下: 1.1.攻击原理 任何以明文形式发送到服务器的 cookie.会话令牌或用户凭证 ...

  6. Appscan漏洞之已解密的登录请求

    本次针对 Appscan漏洞 已解密的登录请求 进行总结,如下: 1.1.攻击原理 未加密的敏感信息(如登录凭证,用户名.密码.电子邮件地址.社会安全号等)发送到服务器时,任何以明文传给服务器的信息都 ...

  7. Appscan漏洞之Authentication Bypass Using HTTP Verb Tampering

    本次针对 Appscan漏洞 Authentication Bypass Using HTTP Verb Tampering(HTTP动词篡改导致的认证旁路)进行总结,如下: 1. Authentic ...

  8. Appscan漏洞之跨站点请求伪造(CSRF)

    公司前段时间使用了Fortify扫描项目代码,在修复完这些Fortify漏洞后,最近又启用了Appscan对项目代码进行漏洞扫描,同样也是安排了本人对这些漏洞进行修复.现在,针对修复过的Appscan ...

  9. 老猿学5G:融合计费场景的离线计费会话的Nchf_OfflineOnlyCharging_Update 更新操作过程

    ☞ ░ 前往老猿Python博文目录 ░ 一.Nchf_OfflineOnlyCharging_Update消息交互过程 Nchf_OfflineOnlyCharging_Update消息是是5G融合 ...

随机推荐

  1. Mariadb 10.3.17 中启用binlog

    先检查是否开启了binlogSHOW VARIABLES LIKE 'log_bin';如果提示:+---------------+-------+| Variable_name | Value |+ ...

  2. PL/SQL【32位】连接Oracle 11g【64位】

    下载64位Oracle安装: 下载PL/SQL安装:下载instantclient-basic-win32-12.1.0.1.0.zip,解压后剪切instantclient_12_1文件夹,粘贴到O ...

  3. 【GM4008】GM4008升级固件发布(版本V4.2.1.1)

    ===================== GM4008固件升级发布 ===================== 〇.简介:GM4008 8通道0-24mA电流采集模块,采用全电气隔离方案,配合高性能 ...

  4. php异常处理小总结

    2019年8月23日10:56:31 php很多开发不习惯使用异常处理,因为web开发,重在于快速开发,易用性,高性能,不强调程序健壮性 php的异常使用其实不是太完善,易用性也差点,当然这个对比其他 ...

  5. spark配置文件

    spark-env.sh export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport SPARK_DIST_CLASSPATH=$(hadoop clas ...

  6. 使用ReadtheDocs托管技术文档

    ReadtheDocs Read the Docs非常适合写软件文档以及编写一些教程.电子书之类.对于一些一两篇文章就能写清楚的可以记笔记或写博客, 但是如果要写成一个系列的,不如写成一本书的形式,更 ...

  7. CMDB资产采集的四种方式

    转 https://www.cnblogs.com/guotianbao/p/7703921.html 资产采集的概念 资产采集的四种方式:Agent.SSH.saltstack.puppet 资产采 ...

  8. mysql报错 常见 1045 10061

    报错1045: 远程没有设置用户远程访问的权限 解决方案: 进行授权(红色是你的密码) 如果想root用户使用password从任何主机连接到mysql服务器的话. GRANT ALL PRIVILE ...

  9. netcore发布失败

    2.2  发布Views  <MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish> 导致 发布失败--------- ...

  10. NOIP模拟day1-T1(完全背包)

    题目 Maxtir 最近买了一个背包. Maxtir 有一个容量为 m 的背包.Sao 有 n 种物品,第 i 种物品的体 积为 ai ,价值为 b i .Sao 的每种物品都有无限多件,Maxtir ...