1.1测试原理和方法
Session 是应用系统对浏览器客户端身份认证的属性标识,在用户退出应用系统时,应将客户端Session认证属性标识清空。如果未能清空客户端 Session 标识,在下次登录系统时,系统会重复利用该Session标识进行认证会话。攻击者可利用该漏洞生成固定Session会话,并诱骗用户利用攻击者生成的固定会话进行系统登录,从而导致用户会话认证被窃取。
1.2测试过程
在注销退出系统时,对当前浏览器授权 SessionID 值进行记录。再次登录系统,将本次授权 SessionID 值与上次进行比对校验。判断服务器是否使用与上次相同的 SessionID 值进行授权认证,若使用相同 SessionID 值则存在固定会话风险。测试流程如图 1-1 所示。
步骤一:在已登录授权认证的页面中单击“退出系统”,如图 1-2 所示。
步骤二:使用 Burp Suite 工具对本次退出系统的请求数据进行截取,对本次授权的 SessionID 进行记录备份,如图 1-3 所示。
步骤三:退出系统后,再次重新登录系统,如图 1-4 所示。
步骤四:使用 Burp Suite 工具对本次登录授权请求数据进行截取,并将本次登录与上次登录的授权 SessionID 值进行比较,判断是否相同,如图 1-5 所示。
1.3.修复建议
在客户端登录系统时,应首先判断客户端是否提交浏览器的留存 Session 认证会话属 性标识,客户端提交此信息至服务器时,应及时销毁浏览器留存的 Session 认证会话,并要求客户端浏览器重新生成 Session认证会话属性标识。
作者:小杰哥001