URL中允許攜帶sessionid帶來(lái)的安全隱患分析
圖示:
下圖是從測(cè)試組發(fā)來(lái)的安全報(bào)告中剪出來(lái)的,圖有些小問(wèn)題,本來(lái)想重畫1個(gè),在visio中沒(méi)找到合適的圖。所以只能用別人的圖了。
說(shuō)明:
讓我們對(duì)上圖的步驟進(jìn)行詳細(xì)說(shuō)明:
1. 黑客用自己的帳號(hào)登錄,假設(shè)登錄頁(yè)面是:http://www.abc.com/login.jsp
2. 服務(wù)器返回登錄成功。
3. 黑客從cookie中查看自己的sessionid,比如是1234
4. 黑客把帶自己sessionid的地址發(fā)送給一般用戶。http://www.abc.com/login.jsp;jsessionid=1234(不同的語(yǔ)言帶sessionid的方式不一樣,著是jsp的方式)
5. 用戶在黑客給的地址中用自己的帳號(hào)進(jìn)行登錄,登錄成功。(這個(gè)時(shí)候用戶登錄的信息就會(huì)覆蓋黑客之前的登錄信息,而且2個(gè)人用的是同1個(gè)sessionid) 6. 黑客刷新頁(yè)面,看到的賬戶信息就是用戶的信息了,而不是之前黑客自己帳號(hào)的信息。
防治:
要防止這種問(wèn)題,其實(shí)也很簡(jiǎn)單,只要在用戶登錄時(shí)重置session(session.invalidate()方法),然后把登錄信息保存到新的session中。
后語(yǔ):
可能你跟我一樣,剛開始看到這個(gè)時(shí)候,就自己去測(cè)試到底能不能釣魚成功,經(jīng)過(guò)我的測(cè)試是可以成功的,但測(cè)試過(guò)程中需要注意下面幾個(gè)問(wèn)題:
1. 要注意你使用的語(yǔ)言是如何在URL中帶sessionid。(我測(cè)試的時(shí)候開始在URL中使用大寫的jsessionid,導(dǎo)致一直不起效)
2. 要http://www.abc.com/login.jsp;jsessionid=1234頁(yè)面登錄表單的action也帶上了jsessionid,不然也沒(méi)用。對(duì)于這個(gè)問(wèn)題你可能覺(jué)得如果login.jsp表單的action是寫死,而不是讀取當(dāng)前URL的, 可能就不會(huì)出現(xiàn)這個(gè)釣魚問(wèn)題。這只能防住1個(gè)方向。黑客可以做1個(gè)和login.jsp一模一樣的頁(yè)面(比如http://www.abc1.com/login.jsp),然后把這個(gè)地址發(fā)個(gè)客戶,而這個(gè)地址中的表單這樣寫就可以: <form action="http://www.abc.com/login.jsp;jsessionid=1234" ....
[作者]:BearRui(AK-47)
[博客]: http://www.cnblogs.com/BearsTaR/
相關(guān)文章
JSP頁(yè)面中文傳遞參數(shù)使用escape編碼
今天在使用中文傳遞參數(shù)時(shí),遇到死活編碼轉(zhuǎn)不過(guò)去,于是想到了用escape,下面與大家分享下具體的使用方法,感興趣的朋友可以參下啊2013-05-05JSP數(shù)據(jù)庫(kù)操數(shù)據(jù)分頁(yè)顯示
JSP數(shù)據(jù)庫(kù)操數(shù)據(jù)分頁(yè)顯示...2006-10-10java解析出url請(qǐng)求的路徑和參數(shù)鍵值對(duì)類(解析出url請(qǐng)求的路徑,包括頁(yè)面)
解析url,本想用正則表達(dá)式處理,但正則表達(dá)式速度較慢。用split處理一下就可以了2012-06-06JSP結(jié)合js實(shí)現(xiàn)img中src更新請(qǐng)求的方法
這篇文章主要介紹了JSP結(jié)合js實(shí)現(xiàn)img中src更新請(qǐng)求的方法,以實(shí)例形式較為詳細(xì)的分析了前臺(tái)頁(yè)面js控制及后臺(tái)功能action部分實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10JSP+EXt2.0實(shí)現(xiàn)分頁(yè)的方法
這篇文章主要介紹了JSP+EXt2.0實(shí)現(xiàn)分頁(yè)的方法,涉及JavaScript結(jié)合JSP遍歷及分頁(yè)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09