Csrf攻擊的解決思路

2021-09-12 13:23:17 字數 1274 閱讀 4483

1.什麼是csrf攻擊

關於什麼是csrf攻擊,這裡不多贅述,可以參考下面的文章,寫的不錯。

**csrf攻擊方式,今天這裡主要記錄如何防禦csrf攻擊。

2.防禦csrf攻擊

這裡csrf攻擊的防禦採用以下方案:在使用者傳送請求之前,先通過ajax請求訪問後台,生成乙個隨機數作為乙個token,並將這個token儲存在session,同時返回到前台頁面,然後前台頁面將這個token放在請求中,傳送到後台,被過濾器攔截,判斷請求中帶的token和session中的token進行匹配,如果一致,則**請求到真正的controller中處理。下面給出**,因為這是自己這兩天和朋友閒著做的乙個專案,準備先寫後台介面,還沒有前台**,所以這裡只給出後台**。

生成token的方法

/**

* 工具類

* @author hxy

*/public class utils

}return token.tostring();

}}

csrfcontroller ,所有請求在到達後台前,先訪問這個controller,獲取token,並且將token繫結在請求中,然後傳送到後台。這裡省去了前台**。

/**

* csrfcontroller 生成token,儲存在session中並返回到前台

* @author hxy

* @version 1.0

*/@restcontroller

public class csrfcontroller

}

過濾器,攔截所有請求,驗證token。

/**

* 防止csrf攻擊的過濾器

* @author hxy

*/@webfilter(urlpatterns = "/*", filtername = "csrffilter")

public class csrffilter extends onceperrequestfilter

logger.info("csrf parameter is invalid...");

}else if (request_method_get.equals(request.getmethod()))

logger.info("end csrf...");

}}

**是可以執行的。還沒有頁面,沒有測試能不能有效防禦csrf攻擊。後續會進行嚴格測試,並進行補充。

關於CSRF的攻擊

csrf攻擊的原理 1 當使用者成功登陸 a時,瀏覽器紀錄本次會話cookie。解決辦法 token token一般用在兩個地方 防止表單重複提交 csrf攻擊 跨站點請求偽造 兩者在原理上都是通過session token來實現的。當客戶端請求頁面時,伺服器會生成乙個隨機數token,並且將tok...

CSRF攻擊原理

假設a.cn這個 是乙個xx管理系統,我只有這個系統的普通使用者的賬戶,這個賬戶功能很有限,沒有管理員賬戶的許可權大,只有管理員賬戶能新增其它的管理員賬戶,我在使用這個 的過程中發現這個 在新增管理員的時候沒有驗證碼或者token驗證,只需要輸入賬號和密碼就可以新增管理員了,這樣的話意味著可以被cs...

CSRF攻擊原理

csrf cross site request forgery 跨站請求偽造,也被稱為 one click attack 或者session riding,通常縮寫為csrf或者xsrf,是一種對 的惡意利用。儘管聽起來像跨站指令碼 xss 但它與xss非常不同,xss利用站點內的信任使用者,而cs...