CWE-384: Session Fixation 會話固定漏洞有哪些修補方法?
本期主題為會話固定(CWE-384: Session Fixation)漏洞的相關介紹。
一、什麼是會話固定?
對使用者進行身份鑑別並建立一個新的會話時沒有讓原來的會話失敗。
二、會話固定漏洞的構成條件有哪些?
當使用者成功驗證而應用程式不更新cookie時,這個時候就存在會話固定漏洞。
HTTP的無狀態性,導致Web應用程式必須使用會話機制來識別使用者。如果使用者未登入時的會話ID和登入後的會話ID保持一致,那麼攻擊者可以迫使受害者使用一個已知(有效)的會話ID,當受害者透過身份驗證,攻擊者就可以利用這個會話ID進入驗證後的會話(登入狀態)。
三、會話固定漏洞會造成哪些後果?
攻擊者可誘使使用者在攻擊者建立的會話基礎上進行身份鑑別,從而竊取使用者透過身份鑑別的會話並冒充使用者進行惡意操作。
四、會話固定漏洞的防範和修補方法有哪些?
對使用者進行身份鑑別並建立一個新的會話時讓原來的會話失效。核心程式碼如下。
// 會話失效
session.invalidate();
// 會話重建
session=request.getSession(true);
五、會話固定漏洞樣例:
protected WebSession updateSession_DELETEME(HttpServletRequest request,HttpServletResponse response, ServletContext context)
{
HttpSession hs;
hs = request.getSession(true);
//System.out.println( "Entering Session_id: " + hs.getId() );
// dumpSession( hs );
// Make a temporary session to avoid the concurreny issue
// in WebSession
WebSession session = new WebSession(this, context);
WebSession realSession = null;
Object o = hs.getAttribute(WebSession.SESSION);
if ((o != null) && o instanceof WebSession)
{
realSession = (WebSession) o;
}
session.setCurrentScreen(realSession.getCurrentScreen());
session.setCourse(realSession.getCourse());
session.setRequest(request);
// to authenticate
//System.out.println( "Leaving Session_id: " + hs.getId() );
//dumpSession( hs ); return (session);
}
……
使用Wukong靜態程式碼安全檢測上述程式程式碼,則可以發現程式碼中存在著“會話固定”的安全漏洞。請見下圖:
“會話固定”在CWE中被編號為:CWE-384:Session Fixation
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2785659/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網站漏洞修復 上傳webshell漏洞修補網站Webshell
- oracle 會話(session)被鎖瞭解決方法Oracle會話Session
- Cassandra的Session會話Session會話
- 會話技術之 Session會話Session
- 會話層技術-session會話Session
- 10、flask-會話-sessionFlask會話Session
- Log4j 漏洞修復和臨時補救方法
- 網站存在漏洞怎麼修復 如何修補網站程式程式碼漏洞網站
- 磁頭損壞的修復方法有哪些
- ZooKeeper如何模擬會話失效(Session Expired)會話Session
- 令牌Token和會話Session原理與攻略會話Session
- MQTT 持久會話與 Clean Session 詳解MQQT會話Session
- 怎麼修復網站漏洞之metinfo遠端SQL隱碼攻擊漏洞修補網站SQL
- iptables一句話修復安全漏洞
- 次世代的會話管理專案 Spring Session會話SpringSession
- nodejs學習08——會話控制 session cookie tokenNodeJS會話SessionCookie
- AdobeReader9.3.2釋出修補15個安全漏洞
- thinkcmf 網站最新漏洞修復方法網站
- 網站漏洞修補之ECshop4.0跨站指令碼攻擊修復網站指令碼
- 沒有修復不了漏洞,只有修不成的工具人!
- 記憶體安全週報第117期 | Firefox 107修補了有嚴重危害的漏洞記憶體Firefox
- 巨杉核心筆記(一)| SequoiaDB 會話(session)簡介筆記會話Session
- python+pytest介面自動化(10)-session會話保持PythonSession會話
- 框架網站漏洞修復防護方法框架網站
- Linux 4.20修補漏洞 但使英特爾CPU效能降低50%Linux
- 微軟11月補丁日,修復12個關鍵漏洞微軟
- 谷歌披露 微軟 Jet 資料庫引擎 RCE 漏洞,尚未修補谷歌微軟資料庫
- 谷歌釋出7月Android補丁 修復多個致命漏洞谷歌Android
- 施耐德電氣修補16 個 U.motion Builder 軟體漏洞UI
- 加快修補!網路犯罪分子仍在利用這些舊漏洞
- python requests模組session的使用建議及整個會話中的所有cookie的方法PythonSession會話Cookie
- 2021網站常見漏洞有哪些網站
- #魔術方法(會話管理)會話
- 使用dbms_monitor.session_trace_enable跟蹤一個會話Session會話
- PHP 會話(Session)如何實現使用者登陸功能PHP會話Session
- 谷歌釋出11月Android安全補丁:共修復38處漏洞谷歌Android
- 最新!Adobe 釋出修復Flash Player關鍵漏洞的安全補丁
- 【網路安全】什麼是檔案上傳漏洞?預防方法有哪些?