一 php處理session id的機制,步驟
是否在cookie內(nèi)–> 是否在url里–> 是否在隱藏表單內(nèi)
如果三者都沒有的話,產(chǎn)生一個新的session id。
二 定義
這種攻擊方式的核心要點就是讓合法用戶使用攻擊者預(yù)先設(shè)定的session ID來訪問被攻擊的應(yīng)用程序,一旦用戶的會話ID被成功固定,攻擊者就可以通過此session id來冒充用戶訪問應(yīng)用程序(只要該session id還是有效的,也就是沒有被系統(tǒng)重新生成或者銷毀)。 通過這種方式,攻擊者就不需要捕獲用戶的Session id(該種方式難度相對稍大)。
三 攻擊步驟
1>>黑客到有漏洞的網(wǎng)站登錄,獲取一個session id,為 1235。
2>>黑客發(fā)送一個鏈接(圖片超鏈接形式)給目標(biāo)用戶。
http://jdy.com?PHPSESSID=1235
3>>目標(biāo)用戶點擊鏈接,進(jìn)入網(wǎng)站,用戶的session id變?yōu)?235,網(wǎng)站不會重新設(shè)置session,用戶的session id 為1235。
4>>黑客利用現(xiàn)有的session id進(jìn)行攻擊。
四 防御手法
1>> 定期更改sessio id
使用 session_regenerate()產(chǎn)生新的session id
2>> 更改session_name的名稱
<?php
session_start();
session_name("MySession");
?>
3>> 指定從cookie中查詢內(nèi)容。
<?php
//設(shè)置只是用cookie存儲
int_set("session.use_cookies",1);
int_set("session.use_only_cookies",1);
//開啟session
session_start();
?>
下一篇:刪除目錄下的文件及子目錄