初學CSFR以及session cooike

2021-10-10 04:56:09 字數 1201 閱讀 7862

首先了解session和cooike

當我們用開啟瀏覽器開啟乙個網頁時,用到的時http協議,這個協議是無狀態的,就是這一次的請求和上一次的請求是互不認識的,沒有關聯的,但這種無狀態的好處就是快速。

而當我希望我請求的頁面有所關聯時,比如我在www.kk.com/login.php 裡面登入了,同時我在www.kk.com/index.php 中也是希望登入的,但是這兩個http請求是無狀態 也就是無關聯的,所以無法單純的在index.php 中讀取到登入狀態。

那怎麼辦呢?總不能兩個頁面都登入一次把,笨辦法就是這兩個頁面都去查詢資料庫,如果都有登陸狀態則判定為登入。

​ 所以在有這種訴求的時候,乙個新的客戶端儲存資料的方式就出現了:cookie 是值把少量的資訊儲存在自己的電腦上,在乙個網域名稱上是全域性的,只要設定它的儲存路徑在網域名稱www.kk.com 下,那麼當使用者在訪問這個網域名稱的任意頁面時 就可以取讀取cookie中的資訊,所以就解決了上述的問題。

​ 但是cookie時存在客戶端的,本身的儲存空間有限,而且客戶是可見的,也可以隨意修改的,那麼既要安全又可以方便的全域性讀取資訊怎麼辦呢?於是就產生了session。

​ 當使用者在網頁之間跳轉時,儲存在session中的變數不會丟失,當該會話過期或者被放棄後,伺服器就會終止會話,

csfr攻擊

csfr攻擊可在受害者不知情的情況下以受害者的名義偽造請求傳送給受攻擊的站點,從而在未授權的情況下執行許可權保護之外的操作

比如 受害者小飛在銀行有一筆存款,通過對銀行的**傳送請求 可使小飛把10000的存款轉到大飛的賬號下

​ 通常情況下小飛在訪問銀行**後,伺服器會先驗證該請求是否來自乙個合法的session,並且 該session的使用者小飛已經成功登入。而黑客null自己也有該銀行賬戶,他知道上文的url可以把錢進行轉賬操作

​ null可以自己給銀行傳送乙個請求

但是這個請求是來自黑客,並非小飛,所以不能通過安全認證,該請求也不能起作用,所以 黑客null 使用 csfr攻擊

​ 他可以先自己做乙個**src=""並且通過廣告來誘導小飛訪問他的**,在小飛訪問該**時,上述的url就會從小飛的瀏覽器發向銀行,而這個請求中會附帶 小飛瀏覽器中的cookie一起發向銀行伺服器。大多數情況下會失敗,因為需要小飛的認證資訊,但是如果小飛當時剛好在訪問銀行**後不久,那麼他的瀏覽器與銀行**之間的session還沒有過期,瀏覽器中的cookie中含有小飛的認證資訊,那麼這個url請求就會等到響應,進而null得到小飛的10000元

session劫持以及預防

session劫持是一種廣泛存在的比較嚴重的安全威脅,在session技術中,客戶端和服務端通過session的識別符號來維護會話,但這個識別符號很容易就能被嗅探到,從而被其他人利用.它是中間人攻擊的一種型別。本節將通過乙個例項來演示會話劫持,希望通過這個例項,能讓讀者更好地理解session的本質...

git以及GitHub初學

我的學習 目錄轉殖遠端專案 建立使用者 生成key 第三部分 拓展與參考資訊 配置git。1234實際操作與abcd每一步的意義,一 一對應。簡述1 修改乙個檔案。2 3 將修改儲存到git。4 將修改推送到遠端伺服器。實際操作 1.操作你的檔案 2.命令 git add 你操作的檔名或路徑 3.命...

session共享問題以及解決

1.通過組播的方式進行集群間的共享,優點 web容器自身支援,配置簡單,適合小型 缺點 當一台機器的上的session變更後會將變更的資料以組播的形式分發給集群間的所有節點,對網路和所有的web容器都是存在開銷。集群越大浪費越嚴重。不能做到線性的擴充套件。2.利用共享儲存來共享session資料 所...