您好,登錄后才能下訂單哦!
CSRF/XSRF(Cross-Site Request Forgery),即跨站請求偽造,也被稱為“One Click Attack”或者Session Riding。基本原理是通過偽裝來自受信任用戶的請求來利用受信任的網站。
×××原理:
如圖所示,用戶首先訪問網站A,通過登錄身份驗證成功,網站A下發cookie保存在用戶的瀏覽器中。用戶又去訪問了網站B,網站B在下發用戶頁面的時候會有一個引誘點擊,這個引誘點擊一般是一個鏈接,這個鏈接一般指向網站A的一個存在漏洞的API接口,尤其這個API接口是GET類型。當用戶禁不住誘惑點擊了這個引誘點擊,這個點擊就訪問到了A網站,此時瀏覽器就會自動上傳cookie,此時網站A對cookie進行確認,發現是合法用戶,此時就會執行這個API的動作(以前微博就出現過CSRF×××,出問題的接口導致很多情況多了很多關注)。
總結
CSRF能造成×××的原理:
用戶登錄過網站A。
網站A中某一個接口存在著這種漏洞。這兩條件缺一不可。
防御措施
1.Token驗證
×××原理中訪問漏洞接口的時候瀏覽器只上傳了cookie,沒有手動的上傳一個token。這個token是用戶登錄注冊甚至只是訪問網站A,服務器會自動向用戶本地存儲一個token,在用戶訪問各個接口的時候,如果沒帶這個token,服務器就不會通過驗證。所以當用戶點擊引誘鏈接,這個鏈接只會自動攜帶cookie,但是不會自動攜帶token,這樣就能避免×××。
2.Referer驗證
Referer,即頁面來源。服務器通過判斷頁面來源是不是自己站點的頁面來源,如果是就執行接口動作,如果不是一律攔截。這樣也能避免×××。
3.隱藏令牌
類似于Token驗證,原理是把token放在HTTP頭的自定義屬性中,而不是把信息放在鏈接上,增加了隱蔽性。本質上和Token驗證沒什么區別,只是用法上的一些區別。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。