?

Nov 28 2016

Session fixation

首頁 » 滲透測試 » Session fixation   

Session fixation

前兩天我轉了篇文章到pst的郵件列表,是關于在struts 2框架下重新生成session的,引起了一些討論,我覺得有必要在這里提醒下程序員們,可能他們早就遺忘了這種威脅了。

JSESSIONID Regeneration in Struts 2 

實際上這就是一種針對Session Fixation 的防范。

Session Fixation 翻譯過來就是 “Session 完成攻擊”,以前的老的應用里可能比較常見這種問題,但是隨著現在web應用越來越復雜,這種問題已經很少了。

先理解這個攻擊,打個比方:

1. 你花錢買了一輛車
2. 你把車鑰匙復制了一把
3. 你把這輛車賣給了一個冤大頭
4. 冤大頭同學花錢買了輛2手車,結果在某天你趁他不在,用事先復制好的鑰匙把車開走了!


這個過程就是一個 Session Fixation 的過程,車鑰匙就是 Session ID

這類問題的本質在于:WEB應用在認證后沒有改寫或者更新session,從而導致了認證前的session還能使用。

如果攻擊者事先能夠獲知該session ID,則可以欺騙用戶使用該session ID進行認證,認證后,由于session ID不變,但是該session變成了一個認證后的session,從而攻擊者可以直接使用該session ID以用戶身份通過系統的認證。

Web環境里,用戶瀏覽頁面時服務器會產生一個session,然后session ID會放在客戶端,比如在瀏覽器URL里,或者是cookie里。用戶持有這個session ID,服務器就可以找到他的session。用戶輸入用戶名和密碼后,系統對該session進行認證。認證成功,該session就是一個認證后的session,服務器就知道該用戶認證過了,用戶訪問認證頁面時就不再需要每次輸入用戶名和密碼了。


比如lqqm論壇,就是把session ID放在url里
\


常見的利用Session Fixation的方法一般是發送一個link到郵件里,誘騙用戶點擊后登錄,使得該session通過認證,比如:
http://www.2cto.com /auth?session=xxxxxxx
要對抗這種攻擊,很簡單,就是認證后重新生成一個session就可以了,甚至是增改當前session都能起到這個目的。

像lqqm論壇,在登錄后馬上就把session重寫了。tomcat等也是如此。

而現在大部分的網站、論壇等復雜的WEB應用,一般是把session ID放在cookie中,而用戶登錄后,cookie里一般會多很多東西,這些多出來的東西也可以保證用戶不受sesssion fixation攻擊的影響。


不過,session fixation攻擊作為一種漏洞類型,不僅僅局限于用戶登錄的部分,只要是任何需要“認證”的地方,都需要考慮到這種威脅。

 

如果您喜歡本博客,歡迎點擊圖片定訂閱到郵箱填寫您的郵件地址,訂閱我們的精彩內容:

正文部分到此結束

文章標簽:這篇文章木有標簽

版權聲明:若無特殊注明,本文皆為( mOon )原創,轉載請保留文章出處。

也許喜歡: «burpsuite_pro_v1.7.11破解版(含下載地址) | ubuntu16.04安裝metasploit+postgresql»

你腫么看?

你還可以輸入 250/250 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

這篇文章還沒有收到評論,趕緊來搶沙發吧~

?
?
河北11选5开奖