盗用cookie的目的和防盗cookie的手段 |
您所在的位置:网站首页 › cookie信息泄露 › 盗用cookie的目的和防盗cookie的手段 |
前提
虽然通过使用springsecurity我们防御了会话固定攻击,但是如果黑客等待合法用户登录系统之后,再从合法用户浏览器中拿到名字为JSESSIONID的cookie,然后放入黑客自己的浏览器的cookie中,这样以来当黑客带着盗窃来的JSESSIONID访问系统时,后端系统会根据JSESSIONID找到对应的session,就会把该次请求当成是认证通过的用户发送的请求;这样黑客就可以为所欲为了。 实践如下图: 经过上图的实践,证明我的分析是合理的,只要能拿到认证通过的用户的cookie,黑客就可以冒充该用户访问系统中的任意资源。 盗用cookie的手段上面的演示我是手动从合法用户使用的浏览器中拿到cookie的值,在别的浏览器中来冒用合法用户访问系统;黑客自然不能手动拿你浏览器中的cookie值,除非黑客就是你身边的人,那他就不是黑客了,是盗贼; 黑客都是靠技术手段获取别人的东西,例如:利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页中,然后自动从用户浏览器中获取cookie的值,此技术手段被称为XSS攻击; 这样以来我们的系统是不是就不安全了?就可以被黑客拿着盗用的cookie冒充合法用户随意访问了? 防盗cookie的手段回答上段的问题:当然不是,看下图: cookie有个HttpOnly属性,且值为true(或对号); 那什么是HttpOnly? 如果cookie中设置了HttpOnly属性,且为true,那么通过js脚本将无法读取到cookie信息,这样就能有效的防止XSS攻击,防止cookie内容被盗窃。 综上所述:只要黑客不是你身边的人,它就无法轻易拿到你浏览器中的cookie,无法冒充合法的你来访问系统,从而保证了你系统的安全性。 cookie在springsecurity中的应用1、当未使用remember-me时,访问系统后,浏览器中只有一个名字为JSESSIONID的cookie,在该cookie的有效期内每次访问系统都会带着带cookie,服务器会根据该cookie找到对应的session;如果已经认证通过,则该session里的SecurityContext中会被放入认证通过的Authentication,SpringSecurity的过滤器就是通过查看SecurityContext中是否有Authentication来判断是否通过了认证;所以说该cookie一旦被盗用,就会被黑客拿来冒充合法用户访问系统。 2、SpringSecurity的RememberMe就是通过在浏览器端写入一个cookie值,在该cookie值的有效期内访问系统,就会带着该cookie,后端拿到cookie值后,RememberMeAuthenticationFilter过滤器会先验证cookie值的合法性,如果合法则通过cookie拿到username,再通过username拿到认证信息,并完成认证工作(和手动输入账号密码的认证工作一样);所以说该cookie一旦被盗用,也会被黑客拿来冒充合法用户访问系统。【注意:SpringSecurity的RememberMe和session没有关系】 结论1、盗用cookie是可以冒充合法用户访问系统的; 2、我们也通过技术手段防止了cookie被盗用。
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |