什麼是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並加密,比較兩者,差別時攔截住。(個人明白)