一 php处理session id的机制,步骤
是否在cookie内–> 是否在url里–> 是否在隐藏表单内
如果三者都没有的话,产生一个新的session id。
二 定义
这种攻击方式的核心要点就是让合法用户使用攻击者预先设定的session ID来访问被攻击的应用程序,一旦用户的会话ID被成功固定,攻击者就可以通过此session id来冒充用户访问应用程序(只要该session id还是有效的,也就是没有被系统重新生成或者销毁)。 通过这种方式,攻击者就不需要捕获用户的Session id(该种方式难度相对稍大)。
三 攻击步骤
1>>黑客到有漏洞的网站登录,获取一个session id,为 1235。
2>>黑客发送一个链接(图片超链接形式)给目标用户。
http://jdy.com?PHPSESSID=1235
3>>目标用户点击链接,进入网站,用户的session id变为1235,网站不会重新设置session,用户的session id 为1235。
4>>黑客利用现有的session id进行攻击。
四 防御手法
1>> 定期更改sessio id
使用 session_regenerate()产生新的session id
2>> 更改session_name的名称
<?php
session_start();
session_name("MySession");
?>
3>> 指定从cookie中查询内容。
<?php
//设置只是用cookie存储
int_set("session.use_cookies",1);
int_set("session.use_only_cookies",1);
//开启session
session_start();
?>
下一篇:删除目录下的文件及子目录