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 利用混乱的主要内容,如果未能解决你的问题,请参考以下文章