PHP PHPSESSID 利用混乱

Posted

技术标签:

【中文标题】PHP PHPSESSID 利用混乱【英文标题】:PHP PHPSESSID exploit confusion 【发布时间】:2016-12-16 06:40:20 【问题描述】:

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

P.S 我不熟悉这个,所以请原谅我缺乏知识:)

【问题讨论】:

【参考方案1】:

答案取决于目标站点的安全检查。

如果网站假定PHPSESSID cookie 足以授权访问,那么是的,窃取某人的会话就足以冒充她,而无需知道她的密码。

但站点通常有额外的措施:他们可能会检查其他参数(例如 IP 地址或用户代理)在会话期间是否发生了变化,如果检测到此类变化,则使会话无效并拒绝访问。

会话通常也有过期时间,因此如果您获得会话 cookie,例如从几个小时无人看管的浏览器,网站可能会因为过期而拒绝访问。您经常会在银行网站上看到这种情况,这些网站会显示一个弹出窗口,告诉您您的会话已过期或即将过期。

最后,如果用户退出,一个好的站点会破坏会话。即使您有PHPSESSID cookie,当您将它呈现给服务器时,它也不会找到匹配的会话,因为它会被销毁。

【讨论】:

谢谢。假设一个站点的安全性很差,而您只需要PHPSESSID。当我转到 Inspect Element 并更改为document.cookie = "PHPSESSID=somesessionid" 时,页面会刷新吗?我会以她的身份登录吗? 更改会话ID是容易的部分,首先获得它是困难的。 @Naktibalda ,如果我以某种方式找到某人的会话 ID 并使用 document.cookie = "PHPSESSID=theusersessid 更改它,页面会刷新并且我会以她的身份登录(假设网站的安全性很差,我需要的只是PHPSESSID)? @RichterB.,假设 PHPSESSID 是 Web 应用程序用来确定用户是否经过身份验证的唯一数据,那么是。

以上是关于PHP PHPSESSID 利用混乱的主要内容,如果未能解决你的问题,请参考以下文章

内存缓存:混乱

varchar类型字段排序混乱问题

php程序的安装和composer

Android AOP拯救混乱的代码架构

php的命名空间层级与目录层级是一致的吗?

同时认证带来的Laravel 5.8会话混乱