CSRF 跨站請求偽造

2022-03-23 08:38:51 字數 1024 閱讀 3371

一、csrf是什麼

csrf,全稱:corss-site request forgery,中文名稱:跨站請求偽造。csrf攻擊比xss攻擊更具危險性,被安全界稱為「沉睡的巨人」。

二、csrf可以做什麼

攻擊者通過一定手段盜取合法使用者在某個**上的登入資訊,然後以該合法使用者的身份模擬傳送各種請求。

三、csrf的原理

(來自:

要完成一次csrf攻擊,受害者必須依次完成兩個步驟:

1. 登入受信任**a,並在本地生成cookie。

2. 在不退出**a的情況下,訪問危險**b。

csrf攻擊主要是因為web的隱式身份驗證機制,web的身份驗證機制雖然可以保證乙個請求是來自某個使用者的瀏覽器,但卻無法保證該請求是使用者批准傳送的。

四、csrf的防禦

1. 正確使用get、post和cookie請求方法,嚴格規定什麼請求只能使用get方法,什麼請求只能使用post方法,這樣可以防止攻擊者使用get請求來模擬post請求,從而輕易達到攻擊目的。

2. 設定一些存放在cookie以外的驗證資訊。例如,可以在get請求位址後追加乙個偽隨機數,post請求則將其新增在表單的隱藏欄位中,作為token去請求後端,這個token可以儲存在session中,並定期更新。這個方法的難點在於如何將token加入到每乙個請求中。

3. 驗證http請求頭的referer字。http請求頭的referer欄位記錄了當前http請求的**位址,如果黑客要進行csrf攻擊,只能在他自己的**上構造請求,所以如果http請求頭的referer欄位指向其他**,則可能是csrf攻擊,拒絕請求即可防禦csrf攻擊。該方法的好處是簡單易行,缺點則是http請求頭的referer字段值可能被篡改,合法使用者的請求也可能不提供改欄位。

4. 在http請求頭中自定義屬性並驗證。

跨站請求偽造 CSRF

跨站請求偽造 csrf 顧名思義就是在其他非法 呼叫了正常 的介面,攻擊的方法是在頁面中包含惡意 或者鏈結,攻擊者認為被攻擊的使用者有權訪問另乙個 如果使用者在那個 的會話沒有過期,攻擊者就能執行未經授權的操作。大多數 rails 程式都使用 cookie 儲存會話,可能只把會話 id 儲存在 co...

CSRF跨站請求偽造

前面說到xss跨站指令碼攻擊,現在來個複雜度更高一點的csrf跨站請求偽造 首先說一下rsrf的幾個要點 1.rsrf是通過各種方法 站內發布鏈結,qq郵箱發布鏈結等 讓登入使用者觸發請求,在使用者不覺察的過程中對使用者資料進行篡改,進而實現攻擊 2.通過xss可以獲取到使用者的session id...

CSRF 跨站請求偽造

csrf cross site request forgery 中文是跨站請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個列子 假如a站為受信任的銀行 其中有個銀行轉賬...