网站安全测试,会话 cookie 中缺少 HttpOnly 属性

简介: 可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务“HttpOnly”属性的会话 cookie。由于此会话 cookie 不包含“HttpOnly”属性,因此注入站点的恶意脚本可能访问此 cookie,并窃取它的值。任何存储在会话令牌中的信息都可能被窃取,并在稍后用于身份盗窃或用户伪装。

可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务


“HttpOnly”属性的会话 cookie。由于此会话 cookie 不包含“HttpOnly”属性,因此


注入站点的恶意脚本可能访问此 cookie,并窃取它的值。任何存储在会话令牌中的

信息都可能被窃取,并在稍后用于身份盗窃或用户伪装。



解决方法1

 Cookie[] cookies = ((HttpServletRequest)request).getCookies();
 if(cookies!=null)
 {
 for(Cookie cookie : cookies){
 //tomcat7 支持该属性,tomcat6 不支持
 cookie.setHttpOnly(true);
 }

我们的tomcat6上这种方法不支持,只好使用以下方法2


解决方法2


if(cookies!=null){
    for(Cookie cookie : cookies){
     //tomcat7 支持该属性,tomcat6 不支持
     String value = cookie.getValue();  
              StringBuilder builder = new StringBuilder();  
              builder.append("JSESSIONID=" + value + "; ");  
              builder.append("Secure; ");  
              builder.append("HttpOnly; ");  
              Calendar cal = Calendar.getInstance();  
              cal.add(Calendar.HOUR, 1);  
              Date date = cal.getTime();  
              Locale locale = Locale.CHINA;  
              SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss",locale); 
              builder.append("Expires=" + sdf.format(date));  
              resp.setHeader("Set-Cookie", builder.toString()); 
    }

测试发现在IE8和IE9,谷歌火狐都没有问题,在IE11上出现session丢失的问题,导致用户在IE11浏览器上登录都成了问题,最后只好升级jar包,更换为tomcat7使用如下

//tomcat7 支持该属性,tomcat6 不支持
 cookie.setHttpOnly(true);

才解决问题。

目录
相关文章
|
5月前
|
存储 搜索推荐 安全
企业出海如何做好网站Cookie合规
确保企业出海网站合规,理解Cookie在用户登录和个性化体验中的关键作用。通过Cookie携带用户信息,实现免登录和个性化服务。GDPR对Cookie使用提出限制,要求用户同意原则。第三方Cookie用于广告追踪,涉及用户画像。GDPR规定了同意条件和操作方法,企业需采用合规的交互设计。九智汇提供的Cookie自动化同意管理系统帮助企业统一管理多地网站Cookie,满足监管合规。
55 0
|
7月前
|
存储 搜索推荐 测试技术
【接口测试】如何在 Eolink Apilkit 中使用 cookie ?
有些网站是使用cookie辨别用户身份的,此时我们便可以先登录一次,拿到登录成功后的cookie,后续请求时在请求头中加入该cookie,便可保持登录状态直接请求。 cookie绕过登录其实是登录状态保持,而不是真的不需要登录。 我们调试时会经常试用cookie值,除了可以在请求头中直接输入cookie外,也可以通过cookie管理工具把cookie值保存起来。后续测试时可针对不同的域名调用不用的cookie值。
51 0
|
7月前
|
存储 JavaScript 前端开发
什么是 cookie 的 httponly 属性
什么是 cookie 的 httponly 属性
66 0
|
12月前
|
Java
会话技术概述、Cookie常用属性和方法及Session常用方法和生命周期
会话技术概述、Cookie常用属性和方法及Session常用方法和生命周期
115 0
|
存储 Web App开发 编解码
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
102 0
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
|
JSON Java 测试技术
接口自动化测试如何处理 Header cookie
接口自动化测试如何处理 Header cookie
102 0
|
存储 自然语言处理 网络协议
软件测试|Session、cookie、token的区别
软件测试|Session、cookie、token的区别
105 0
|
测试技术 数据安全/隐私保护
软件测试 | selenium 复用 cookie,避开扫码或者输入密码
软件测试 | selenium 复用 cookie,避开扫码或者输入密码
111 0
|
21天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
27 0