安全测试初探(二)session测试篇

1.1.Session会话固定测试
1.1.1测试原理和方法
Session是应用系统对浏览器客户端身份认证的属性标识,在用户退出系统时应将客户端session认证属性标识清空。如果未能及时清空客户端session标识,下次登录时系统会重复利用该session标识进行认证会话。攻击者可以利用该漏洞生成固定的session会话,诱骗用户利用攻击者生成的固定会话进行系统登录,从而导致用户会话认证被窃取
1.1.2.测试过程
在注销退出系统时,对当前浏览器授权sessionid值进行记录。再次登录系统,将本次授权sessionid值与上次进行对比校验,若使用相同sessionid则存在固定会话风险。一种可操作的攻击场景如下
安全测试初探(二)session测试篇
1.1.3.截取注销退出时请求中的sessionid
安全测试初探(二)session测试篇
sessionid=s_968137dd437e6d6408cb3e79c0f65f88;
1.1.4.截取再次登录时的sessionid
安全测试初探(二)session测试篇
sessionid=s_968137dd437e6d6408cb3e79c0f65f88;
通过比较,注销退出时的sessionid和再次登录时的sessionid是一样的
总结:存在session会话固定漏洞
1.2.Session会话注销测试
1.2.1.测试过程
在用户注销退出系统后,判断授权认证的SessionID值是否依然有效。
安全测试初探(二)session测试篇
1.2.2.
步骤一:浏览器设置代理后,点击“退出”,然后拦截到退出请求
步骤二:去掉代理,用户再次退出,退出成功
步骤三:将拦截到的退出请求再次发送给服务器
安全测试初探(二)session测试篇

安全测试初探(二)session测试篇

**总结:**服务器返回没有报错,说明在上一次用户退出的时候服务器没有及时清空存储的sessionid导致同一个sessionid可以再次退出,没有要求重新登录

**修复建议:**在用户注销或退出时,服务器应及时销毁session认证信息并清空客户端浏览器session属性标识