淺談session及其平安

什麼是Session?

  • Session在收集運用中被稱為“會話掌握”。
  • Session存儲在服務器端。
  • 用戶A接見網站B,A登錄網站后,服務器會建立一個Session來保留用戶狀況和相干信息。每一個Session對應一個標識符SessionID來標識用戶身份。SessionID平常是由服務器以加密的體式格局寫到cookie中的,如許用戶A登錄后,接見網站B中差別的網頁時要求中會帶上SessionID來標識他的身份,以此完成一次登錄,接見全網站。(如今大多數站點採納基於cookie的session管理體式格局:用戶上岸勝利后,設置一個唯一的cookie標識本次會話,基於這個標識舉行用戶受權。只需要求中帶有這個標識,都認為是登錄態。)

Session挾制

只需要求中帶有這個標識,都認為是登錄態

這就風險了,一旦你的標識被別人獵取,你的Session就被別人挾制了,他就能夠用你的身份隨心所欲。

最基本的cookie盜取體式格局:xss破綻

進擊者最簡樸獵取別人cookie信息的要領是XSS進擊,想辦法注入js劇本到被進擊者客戶端並實行,經由過程實行這個js劇本,進擊者在被進擊者登錄后獲得了他的SessionID,經由過程在本身客戶端修正sessionId獲得了被進擊者的身份,後果不堪設想。。。

防備要領

  • cookie設置為HttpOnly,js劇本就沒法再獵取cookie,也就沒法獲得你的會話標識。
  • 防備xss注入:過濾用戶輸入
  • 每次要求做其他考證:cookie中取加密后的用戶id,session中取用戶id並加密,比較兩者,差別時攔截住。(個人明白)
    原文作者:April
    原文地址: https://segmentfault.com/a/1190000014420502
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞