安全测试-认证与会话管理

安全测试-认证与会话管理什么是认证?认证的作用就是验明正身,为了确认身份。一个系统的登录操作就是系统身份的验证。账号和密码是最常用的系统认证方式,当然一个系统的认证方式有很多种,不仅限于此,比如账号+短信+图形校验、账号+硬件、账号+指纹等。

大家好,欢迎来到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

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信