大家好,欢迎来到IT知识分享网。
什么是认证?
认证的作用就是验明正身,为了确认身份。一个系统的登录操作就是系统身份的验证。
账号和密码是最常用的系统认证方式,当然一个系统的认证方式有很多种,不仅限于此,比如账号+短信+图形校验、账号+硬件、账号+指纹等。
如果只有一个凭证被用于认证,则称为”单因素认证”;如果有多个凭证被用于认证,则称为”多因素认证”。
什么是会话管理?
当登录完成后,在服务器端会创造一个新的会话(session),会话中会保存用户的状态和相关信息。服务器端维护所有在线用户的session,此时的认证,只需要知道是哪个用户在浏览器当前页面即可。为了告诉服务器应该是哪一个session,浏览器需要把当前用户拥有的SessionID告知服务器。
而这个SessionID会被保存在cookie中,受到同源策略保护,使得用户登录一次后,访问服务不再需要每次都进行认证。
什么是Session劫持?
Session劫持就是一种通过窃取用户SessionID后,使用该SessionID登录进目标账号的攻击手段。这是因为攻击者实际上使用了目标账户的有效Session。如果SessinID是保存在Cookie中的,则这种攻击方式可以被称为Cookie劫持。
关于上述可能存在的安全漏洞
会话管理模式:应用系统的会话管理模式是否可以被伪造、劫持、篡改会话ID
会话固定:用户通过登录验证后会话ID是否会更新
cookie安全:用户cookie是否正确配置了HttpOnly或secure属性
会话变量泄漏:会话变量信息是否存在泄漏的风险
跨站请求伪造:应用系统内的敏感操作是否存在跨站请求伪造的可能
会话凭证未注销
验证方式:
1. 账号登陆
2. 使用burfsuite对web页或某些功能进行抓包放入repeater,比如查询
3. Web端退出
4. 然后在repeater中操作
如果数据包发起请求后,响应结果仍可以看到web页面的数据,则存在会话凭证未注销
修复方式:
退出时销毁该Session
会话固定
验证方式:
1. 使用burfsuite对账号登陆抓包放入comparer,退出
2. 重新抓取登录web的数据包,放入comparer中对比,前后的cookie是否有变化
如果两次的登录的cookie没有变化,则存在会话固定,反之,不存在
解决方式:
方式一:cookie中的SessionID随机,每次登陆SessionID都会重新分配
方式二:cookie中加token,每次登陆token值重新分配
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/89292.html