返回介绍

4.3 Session 测试

发布于 2024-10-11 00:03:31 字数 5105 浏览 0 评论 0 收藏 0

4.3.1 Session 会话固定测试

4.3.1.1 测试原理和方法

Session 是应用系统对浏览器客户端身份认证的属性标识,在用户退出应用系统时,

应将客户端 Session 认证属性标识清空。如果未能清空客户端 Session 标识,在下次登录系

统时,系统会重复利用该 Session 标识进行认证会话。攻击者可利用该漏洞生成固定

Session 会话,并诱骗用户利用攻击者生成的固定会话进行系统登录,从而导致用户会话

认证被窃取。

4.3.1.2 测试过程

在注销退出系统时,对当前浏览器授权 SessionID 值进行记录。再次登录系统,将本

次授权 SessionID 值与上次进行比对校验。判断服务器是否使用与上次相同的 SessionID 值

进行授权认证,若使用相同 SessionID 值则存在固定会话风险。测试流程如图 4-17 所示。

图 4-17 Session 会话固定测试流程图

步骤一:在已登录授权认证的页面中单击“退出系统”,如图 4-18 所示。

图 4-18 单击并退出已登录授权认证的系统

步骤二:使用 Burp

Suite 工具对本次退出系统的请求数据进行截取,对本次授权的

SessionID 进行记录备份,如图 4-19 所示。

图 4-19 在退出系统前抓包将 SessionID 值进行记录备份

步骤三:退出系统后,再次重新登录系统,如图 4-20 所示。

图 4-20 退出系统后再次重新登录系统

步骤四:使用 Burp Suite 工具对本次登录授权请求数据进行截取,并将本次登录与上

次登录的授权 SessionID 值进行比较,判断是否相同,如图 4-21 所示。

图 4-21 将两次登录 SessionID 值进行判断对比

4.3.1.3 修复建议

在客户端登录系统时,应首先判断客户端是否提交浏览器的留存 Session 认证会话属

性标识,客户端提交此信息至服务器时,应及时销毁浏览器留存的 Session 认证会话,并

要求客户端浏览器重新生成 Session 认证会话属性标识。

4.3.2 Seesion 会话注销测试

4.3.2.1 测试原理和方法

Session 是应用系统对浏览器客户端身份认证的属性标识,在用户注销或退出应用系

统时,系统应将客户端 Session 认证属性标识清空。如果未能清空 Session 认证会话,该认

证会话将持续有效,此时攻击者获得该 Session 认证会话会导致用户权限被盗取。

4.3.2.2 测试过程

该项测试主要在用户注销退出系统授权后,判断授权认证 SessionID 值是否依然有

效。若授权认证 SessionID 依然有效则存在风险。测试流程如图 4-22 所示。

图 4-22 Seesion 会话注销测试流程图

步骤一:对已登录授权的系统页面使用 Burp Suite 工具进行请求数据截取,将数据包

中 Session 认证参数值进行保存记录,如图 4-23、图 4-24 所示。

图 4-23 已登录授权的系统页面

图 4-24 使用 Burp Suite 工具截取登录认证 Session 信息并进行保存记录

步骤二:在数据截取窗口中使用鼠标右击,在弹出菜单中选择“Send Repeater”,将请

求数据发送至 Repeater 模块中,如图 4-25 所示。

图 4-25 将请求数据信息转发至 Repeater 模块中

步骤三:在已授权的页面中退出系统,如图 4-26 所示。

图 4-26 在系统授权页面中退出系统

步骤四:在 Repeater 模块相应授权数据信息页面中单击“GO”按钮,再次发送授权访问

请求并查看系统是否对退出后的用户授权 Session 进行解除授权,如图 4-27 所示。

图 4-27 在用户退出系统后再次使用原先的 Session 访问系统要求重新登录

4.3.2.3 修复建议

在用户注销或退出应用系统时,服务器应及时销毁 Session 认证会话信息并清空客户

端浏览器 Session 属性标识。

4.3.3 Seesion 会话超时时间测试

4.3.3.1 测试原理和方法

在用户成功登录系统获得 Session 认证会话后,该 Session 认证会话应具有生命周期,

即用户在成功登录系统后,如果在固定时间内(例如 10 分钟)该用户与服务器无任何交互

操作,应销毁该用户 Session 认证会话信息,要求用户重新登录系统认证。

4.3.3.2 测试过程

对系统会话授权认证时长进行测试,并根据系统承载的业务需求来分析判断当前系统

会话授权认证时间是否过长。测试流程如图 4-28 所示。

图 4-28 Session 会话超时时间测试流程图

步骤一:对已登录授权的系统页面使用 Burp Suite 工具进行请求数据截取,将数据包

中 Session 认证参数值进行保存记录,如图 4-29、图 4-30 所示。

图 4-29 已登录授权的系统页面

图 4-30 使用 Burp Suite 工具截取登录认证 Session 信息并进行保存记录

步骤二:在数据截取窗口中使用鼠标右击,在弹出菜单中选择“Send Repeater”,将请

求数据发送至 Repeater 模块中,如图 4-31 所示。

图 4-31 将请求数据信息转发至 Repeater 模块中

步骤三:在此后 30 分钟内不再使用该授权会话与服务器进行交互访问。30 分钟过后在

Repeater 模块相应授权数据信息页面中单击“GO”按钮,再次发送授权访问请求并查看系

统返回结果是否存在授权后可查阅的特殊信息,如图 4-32、图 4-33 所示。

图 4-32 对授权成功的 Session 值进行首次访问

图 4-33 时隔 30 分钟后再次发送请求(系统仍然返回用户特殊信息)

4.3.3.3 修复建议

对每个生成的 Session 认证会话配置生命周期(常规业务系统建议 30 分钟内),从而

有效降低因用户会话认证时间过长而导致的信息泄露风险。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文