会话标识未更新 漏洞处理
2016-11-14 20:20
1156 查看
如果是页面,可以在页面请求之前这么处理下:
HttpSession session=request.getSession();
session.invalidate();
Cookie[] cookies=request.getCookies();
if(null!=cookies){
for(int i=0;i<cookies.length;i++){
if(("JSESSIONID").equalsIgnoreCase(cookies[i].getName())){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
}
}
session = request.getSession(true);
如果是spring-security
在登录入口处,这么处理一下
changeNewSession(request);//更换session,处理会话表示未更新的漏洞
private void changeNewSession(HttpServletRequest request){
if (request.getSession() != null) {
//--------复制 session到临时变量
HttpSession session = request.getSession();
HashMap<String,Object> old = new HashMap<String,Object>();
Enumeration keys = (Enumeration) session.getAttributeNames();
while (keys.hasMoreElements()){
String key = (String) keys.nextElement();
old.put(key, session.getAttribute(key));
session.removeAttribute(key);
}
session.invalidate();
session=request.getSession(true);
//-----------------复制session
for (Iterator it = old.entrySet().iterator(); it.hasNext();) {
Map.Entry entry = (Entry) it.next();
session.setAttribute((String) entry.getKey(), entry.getValue());
}
}
}
HttpSession session=request.getSession();
session.invalidate();
Cookie[] cookies=request.getCookies();
if(null!=cookies){
for(int i=0;i<cookies.length;i++){
if(("JSESSIONID").equalsIgnoreCase(cookies[i].getName())){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
}
}
session = request.getSession(true);
如果是spring-security
在登录入口处,这么处理一下
changeNewSession(request);//更换session,处理会话表示未更新的漏洞
private void changeNewSession(HttpServletRequest request){
if (request.getSession() != null) {
//--------复制 session到临时变量
HttpSession session = request.getSession();
HashMap<String,Object> old = new HashMap<String,Object>();
Enumeration keys = (Enumeration) session.getAttributeNames();
while (keys.hasMoreElements()){
String key = (String) keys.nextElement();
old.put(key, session.getAttribute(key));
session.removeAttribute(key);
}
session.invalidate();
session=request.getSession(true);
//-----------------复制session
for (Iterator it = old.entrySet().iterator(); it.hasNext();) {
Map.Entry entry = (Entry) it.next();
session.setAttribute((String) entry.getKey(), entry.getValue());
}
}
}
相关文章推荐
- java或者jsp中修复会话标识未更新漏洞
- java或者jsp中修复会话标识未更新漏洞
- java或者jsp中修复会话标识未更新漏洞
- IBM Security Appscan漏洞--会话标识未更新
- java或者jsp中修复会话标识未更新漏洞
- 对会话标识未更新的处理
- 【AppScan深入浅出】修复漏洞:会话标识未更新(中危)
- [AppScan深入浅出]修复漏洞:会话标识未更新
- 【AppScan深入浅出】修复漏洞:会话标识未更新(中危)
- IBM appcsan扫描安全漏洞--会话标识未更新
- java或者jsp中修复会话标识未更新漏洞
- 会话标识未更新问题
- 会话标识未更新
- WEB安全实战(七)会话标识未更新
- 会话标识未更新
- 【重要通知】阿里云关于Intel处理器Meltdown和Spectre安全漏洞处理持续更新公告
- 会话标识未更新问题
- 会话标识未更新问题
- 会话标识未更新问题
- Appscan---会话标识未更新