Appscan漏洞之会话标识未更新
本次针对 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漏洞之会话标识未更新的更多相关文章
- 会话标识未更新(AppScan扫描结果)
最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中此篇文章是关于会话标识未更新问题的.下面就把这块东西分享出来. 原创文章,转载请注明 ----------------- ...
- java或者jsp中修复会话标识未更新漏洞
AppScan会扫描“登录行为”前后的Cookie,其中会对其中的JSESSIONOID(或者别的cookie id依应用而定)进行记录.在登录行为发生后,如果cookie中这个值没有发生变化,则判定 ...
- 如何修复AppScan漏洞
[AppScan]修复漏洞一:启用不安全的HTTP方法 (中) 漏洞背景: “启用了不安全的 HTTP 方法”属于“中”危漏洞.漏洞描述是:根据APPSCAN的报告,APPSCAN通过OPT ...
- WebApi -用户登录后SessionId未更新
描工具检测出.net的程序有会话标识未更新这个漏洞 用户尚未登录时就有session cookie产生.可以尝试在打开页面的时候,让这个cookie过期.等到用户再登陆的时候就会生成一个新的sessi ...
- Appscan漏洞 之 加密会话(SSL)Cookie 中缺少 Secure 属性
近期 Appscan扫描出漏洞 加密会话(SSL)Cookie 中缺少 Secure 属性,已做修复,现进行总结如下: 1.1.攻击原理 任何以明文形式发送到服务器的 cookie.会话令牌或用户凭证 ...
- Appscan漏洞之已解密的登录请求
本次针对 Appscan漏洞 已解密的登录请求 进行总结,如下: 1.1.攻击原理 未加密的敏感信息(如登录凭证,用户名.密码.电子邮件地址.社会安全号等)发送到服务器时,任何以明文传给服务器的信息都 ...
- Appscan漏洞之Authentication Bypass Using HTTP Verb Tampering
本次针对 Appscan漏洞 Authentication Bypass Using HTTP Verb Tampering(HTTP动词篡改导致的认证旁路)进行总结,如下: 1. Authentic ...
- Appscan漏洞之跨站点请求伪造(CSRF)
公司前段时间使用了Fortify扫描项目代码,在修复完这些Fortify漏洞后,最近又启用了Appscan对项目代码进行漏洞扫描,同样也是安排了本人对这些漏洞进行修复.现在,针对修复过的Appscan ...
- 老猿学5G:融合计费场景的离线计费会话的Nchf_OfflineOnlyCharging_Update 更新操作过程
☞ ░ 前往老猿Python博文目录 ░ 一.Nchf_OfflineOnlyCharging_Update消息交互过程 Nchf_OfflineOnlyCharging_Update消息是是5G融合 ...
随机推荐
- SpringBoot 为API添加统一的异常处理(一)
首先我把异常分为两种,一种是可控制的,或者是由我们发现条件不正确主动抛出的异常,就像前城市编号不存在那个粟子:另一种是不可控制的,或者说是程序存在bug引起的异常,但这种异常也不想变态的就直接给前端抛 ...
- thinkphp5---路由问题
在做thinkphp的开发项目中,遇到一个需求:要求让网站的链接,必须以 .html结尾. 原因:在thinkphp开发的项目中,使用伪静态,路由格式:xxx.com/xxx/2.html ,但是后面 ...
- 使用innobackupex进行mysql的差异备份还原和延迟复制
使用innobackupex进行mysql的差异备份还原和延迟复制 背景: 有同事执行update语句没有添加where条件,导致大量脏数据,需要将这张表恢复到前一天 数据库上有备份,每周一次完整备份 ...
- Swift编码总结10
1.打开App显示文件已损坏,打不开,您应该将它移到废纸篓,怎么办? 终端输入执行:sudo spctl --master-disable 2.Mac的Siri打开网页控制台,进入开发中模式:不过我觉 ...
- Win10升级后无法删除Windows.old文件夹
问题:win10系统进行升级后(升级到1903版本),无法删除生成的Windows.old文件夹,提示文件夹访问被拒绝. 点击继续后,无法进行正常删除. 解决方法:使用windows自带的磁盘清理进行 ...
- [LeetCode] 768. Max Chunks To Make Sorted II 可排序的最大块数 II
This question is the same as "Max Chunks to Make Sorted" except the integers of the given ...
- 一段隐藏文字的css代码,记录下
<span style="width:1px; height:1px; color:#fff; outline-width:hidden; overflow:hidden; displ ...
- ajax处理csrf的三种方式
方式一: $.post({ url: '/get_result/', data: { value0: $('#v1').val(), value1: $('#v2').val(), csrfmiddl ...
- mongodb4.2.2 centos 单机安装
下载 rpm包 wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-server-4. ...
- linux安装docker,并在docker上运行springboot项目
docker架构示例图 仓库---> 镜像 ---> 容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...