PHP PHPSESSID漏洞混淆

3

我对PHPSESSID漏洞感到困惑。如果我将document.cookie更改为另一个活跃用户的(在像YouTube或Instagram这样的简单社交媒体网站上[仅作为示例])PHPSESSID,那么页面会重新加载,我会被登录到该用户的帐户吗?我还需要知道该用户的密码吗?注意:我实际上不会这样做,但我想了解会发生什么。

1个回答

5
答案取决于目标网站的安全检查。如果该站点假设PHPSESSID cookie足以授权访问,那么窃取某人的会话将足以冒充她,而无需知道她的密码。然而,网站通常还有其他措施:他们可能会检查在会话期间是否更改了其他参数,例如IP地址或用户代理,并且如果发现这样的更改,则使会话无效并拒绝访问。会话通常也具有过期时间,因此如果您获取了会话cookie(例如从已经闲置数小时的浏览器中),则该站点可能会拒绝访问,因为已过期。您经常在银行网站上看到这种情况,它会显示一个弹出窗口告诉您您的会话已过期或即将过期。最后,如果用户注销,好的网站将销毁会话。即使您拥有PHPSESSID cookie,当您将其提交给服务器时,它也找不到匹配的会话,因为它已被销毁。

1
谢谢。假设一个网站安全性较差,而所需的只是 PHPSESSID。当我打开检查元素并更改为 document.cookie = "PHPSESSID=somesessionid" 时,页面会刷新,然后我会以她的身份登录吗? - Ricky
更改会话ID是容易的部分,首先获取它才是困难的。 - Naktibalda
@Naktibalda,如果我以某种方式找到了某人的会话ID并使用document.cookie =“PHPSESSID = theusersessid更改它,页面会刷新并且我会作为她登录吗(假设网站的安全性很差,我所需要的只是PHPSESSID)? - Ricky
@RichterB.,假设PHPSESSID是Web应用程序用于确定用户是否经过身份验证的唯一数据,则是的。 - ultrajohn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接