我在一个网站上工作,我的工作是保护网站免受XSS等所有类型的漏洞的攻击。
我运行了AppScan,这是一个IBM工具,用于在代码更改后检查漏洞,我在报告中看到一个错误,显示"会话标识符未更新",并显示
威胁分类:会话固定
我为每个请求生成新的cookie,我相信这就是我们解决会话固定问题的方法。这是正确的吗?
我想问的一个重要问题是-"会话固定"answers"会话标识符未更新"之间有什么区别
您是否在每次会话更改状态时都更改会话id?这很可能是你的问题。
如果你的网站接受会话id作为URL参数,而当有人登录时你没有更改它,这可能是问题所在。例如:
1) 我给你发了链接www.example.com/?sess_id=123456
2) 您访问该网站的链接并登录。会话id 123456现在是您的会话。
3) 我访问www.example.com/?sess_id=123456,我现在以您的身份登录。
当用户在步骤2登录时,您需要重新生成一个新的会话id,因为会话状态已更改。即使会话id是服务器生成的,并且只接受服务器生成的id,我仍然可以修复您的会话。
1) 我访问了www.example.com,发现返回了会话id 654321。
2) 我给你发了链接www.example.com/?sess_id=654321,然后登录。
3) 我访问www.example.com/?sess_id=654321,我现在以您的身份登录。
如果没有更多信息,这可能不是你问题的原因,但很可能是你提供的。检查会话更改状态时是否会重新生成会话id(当用户登录/注销时)。
$_SESSION
超级全局,具有相应的会话ID。例如,
$_SESSION[“member_id”], $_SESSION[“display_name”].