iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
Security

三人要保密,一個人要學好資安系列 第 15

DVWA練習-Cross Site Request Forgery

由於瀏覽器請求會自動包含與站點關聯的任何憑據
多數站點繼承了受害者的身份和特權,如Session cookie
如果使用者已通過了身份驗證,站點將無法區分偽造請求和合法請求

利用受害者尚未失效的身份認證資訊(cookie、Session等)
誘騙其點選惡意連結或者訪問包含攻擊程式碼的頁面
在受害人不知情的情況下以受害者的身份向伺服器傳送請求
完成非法轉帳等惡意的動作

  • HTTP GET 請求
    • 用於從Web伺服器請求
    • 我們在Web瀏覽器中輸入網站URL時,指示瀏覽器向託管該網站的伺服器發送請求回應,並於瀏覽器呈現
  • HTTP POST 請求
    • 用於發送要在 Web應用程序上發布的內容
    • 於提交Web表單時,瀏覽器會生成一個POST請求,內容包含通過Web表單提交的數據

可以利用社交工程,來引誘受害者點擊URL
發送一封帶有此惡意URL內容的郵件鼓勵使用者點擊
點擊後受害者可能看不見任何結果
但此時動作已經執行完畢
CSRF並沒有盜取cookie而是直接利用現有的session階段

當使用者已登入了這個網站時
我將下面這串內容貼給對方
http://172.17.0.2/vulnerabilities/csrf/?password_new=12345&password_conf=12345&Change=Change#
對方點擊後,他的密碼即會被改成12345。

我將網址列的password_new=11111&password_conf=11111&Change=Change#
修改後送出

密碼則改由11111進行登入,而非一開始提供設定的12345


由於使用者必須在已經過身分驗證的狀態,才會有CSRF成立的機會
盡量避免使用自動登入
若沒有活動時記得執行登出

得以加強使用者身分的辨識機制
可以在瀏覽器上設置SameSite cookie
讓伺服器沒辦法從cookie來得到Session ID


上一篇
DVWA練習-Weak Session IDs
下一篇
DVWA練習-Cross Site Scripting
系列文
三人要保密,一個人要學好資安30

尚未有邦友留言

立即登入留言