如何防范PHP已知会话确认攻击

作者:linux120 发布时间:January 8, 2013 分类:服务器配置

描述:
目标存在PHPSESSID已知会话确认攻击漏洞。
1.通过注入用户的会话,冒充用户去通过网站的认证。
2. PHPSESSID已知会话确认攻击是通过注入一个客户的PHPSESSID,然后修改其PHP session cookie,最后通过修改后cookie值去通过网站的认证。

危害:
1.冒充用户去通过认证,然后进行下一步攻击。
2. PHPSESSID已知会话确认攻击(Session fixation)的原理与Session劫持非常相似。攻击者需事先获得该session ID,然后通过欺骗用户使用该session ID去进行认证,认证后由于session ID不变,而session则变成了一个认证后的session,最后攻击者则可以直接使用该session ID和认证后的session以用户的身份通过系统的认证。

解决方案:
在PHP.INI文件中配置 session.use_only_cookies = 1。该选项让管理员能够避免用户被攻击。默认值为 0.
注:
1. 请确认修改的 php.ini 文件是当前网站使用的,您可以使用 phpinfo()函数来确认 php.ini 文件位置;
2. 去掉前面的分号。
如 ;session.use_only_cookies = 1 改为
session.use_only_cookies = 1