Flask模擬實現CSRF攻擊

2022-08-19 17:45:12 字數 726 閱讀 4138

造成的問題:個人隱私洩露以及財產安全。

在客戶端向後端請求介面資料的時候,後端會往響應中的 cookie 中設定 csrf_token 的值

在 form 表單中新增乙個隱藏的的字段,值也是 csrf_token

在使用者點選提交的時候,會帶上這兩個值向後台發起請求

後端接受到請求,以會以下幾件事件:

如果比較之後兩值一樣,那麼代表是正常的請求,如果沒取到或者比較不一樣,代表不是正常的請求,不執行下一步操作

未進行 csrf 校驗的 weba

攻擊**b的**

在**a中模擬實現 csrf_token 校驗的流程

執行測試,使用者直接在** a 操作沒有問題,再去**b進行操作,發現轉賬不成功,因為** b 獲取不到表單中的 csrf_token 的隱藏字段,而且瀏覽器有同源策略,**b是獲取不到**a的 cookie 的,所以就解決了跨站請求偽造的問題

在 flask 中, flask-wtf 擴充套件有一套完善的 csrf 防護體系,對於我們開發者來說,使用起來非常簡單

設定完畢,cookie 中的 csrf_token 不需要我們關心,會自動幫我們設定

from flask.ext.wtf import csrfprotect

模擬實現Spring IOC

通過在類上標註 registration 註冊進容器,injection從容器注入物件 容器類 public class springcontainer else bean.setbeanclass c mappropsmap new hashmap 處理注入屬性 field props c.get...

模擬實現strcmp

函式簡介 原型 int strcmp const char s1,const char s2 所在標頭檔案 string.h 功能 比較字串s1和s2。一般形式 strcmp 字串1,字串2 說明 當s1注意不是 1 當s1 s2時,返回值 0 當s1 s2時,返回正數 注意不是1 如下 int m...

模擬實現strncat

模擬實現strncat 在系統庫函式中,存在strncat這個函式,它用於字串的追加,就是在乙個字串後面再追加乙個字串,它的函式原型為 char strncat char strdest,const char strsource,size t count 在其中,strdest為目標字串,strso...