一 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();
?>
下一篇:刪除目錄下的文件及子目錄