漏洞名称:Cookie信息泄露、Cookie安全性漏洞、Cookie未设置httponly属性
漏洞描述:
cookie的属性设置不当可能会造成系统用户安全隐患,Cookie信息泄露是Cookiehttp only配置缺陷引起的,在设置Cookie时,可以设置的一个属性,如果Cookie没有设置这个属性,该Cookie值可以被页面脚本读取。 例如:当攻击者发现一个XSS漏洞时,通常会写一段页面脚本,窃取用户的Cookie,如果未设置http only属性,则可能导致用户Cookie信息泄露,攻击者能够利用该用户的身份进行系统资源访问及操作。如图是设置了cookies属性和没有设置属性,被XSS跨站截获的cookies对比:
设置了httponly属性:
未设置httponly属性:
检测条件:1、 已知Web网站具有登录页面。
检测方法:1、 通过用web扫描工具进行对网站的扫描,如果存在相关cookies的安全性问题,则
一般工具都会检测出来,误报率小。
修复方案:
建议如果网站基于cookie而非服务器端的验证,请最好加上HttpOnly,当然,目前这个属性还不属于任何一个标准,也不是所有的浏览器支持,建议设置cookie的代码:
response.setHeader("SET-COOKIE",
"user=" + request.getParameter("cookie") + "; HttpOnly");
本段代码设置了http only属性,攻击者无法获取用户Cookie信息。