会话固定漏洞

会话固定漏洞学习

会话固定漏洞

简介

会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。

攻击流程

1、攻击者Attacker能正常访问该应用网站。 2、应用网站服务器返回一个会话ID给他 3、攻击者Attacker用该会话ID构造一个该网站链接发给受害者Victim 4、受害者Victim点击该链接,携带攻击者的会话ID和用户名密码正常登录了该网站,会话成功建立 5、攻击者Attacker用该会话ID成功冒充并劫持了受害者Victim的会话

漏洞发现

登录前获取下seesion,记录下来,登录后再获取下session,看两者是否有变化,如果无变化,说明存在漏洞

实战演示

利用yxcms来进行演示

1、新注册用户作为攻击用户,取得 PHPSESSID =aaa avatar

2、模拟受害者登陆管理后台,此时正常管理员 PHPSESSID= bbb, 后台地址为 http://yxcms.com/index.php?r=admin/index/index

avatar

3、攻击者诱使受害者访问恶意链接 http://yxcms.com/index.php?r=admin/index/index&sessionid=aaa

4、攻击者访问后台链接:http://yxcms.com/index.php?r=admin/index/index ,账号变为管理员

漏洞修复

在登录验证成功后,通过重置session,使之前的匿名sessionId失效,这样可以避免使用伪造的sessionId进行攻击