實戰篇——CSRF漏洞pikachu靶場實戰

yaoguyuan發表於2024-07-10

實戰篇——CSRF漏洞pikachu靶場實戰

CSRF的原理

攻擊者利用使用者在某個網站上的已登入狀態,誘使使用者點選惡意連結,惡意頁面會向伺服器自動傳送預先準備好的惡意請求。由於請求中自動包含了使用者的認證憑證,伺服器會誤以為是合法的使用者操作,從而執行惡意請求。

CSRF的分類

(1) GET型

點選submit,抓包:

image-20240710003845501

image-20240710003915746

構造惡意連結:

http://192.168.118.147/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=11111111111&add=nba+lakes&email=kobe%40pikachu.com&submit=submit

點選惡意連結,成功修改電話號碼:

image-20240710004342895

(2) POST型

點選submit,抓包:

image-20240710004521086

image-20240710004547086

生成CSRF PoC:

image-20240710004700032

在第三方伺服器上構造惡意頁面:

此處在原有PoC的基礎上進行了一定的修改,首先透過JS指令碼實現按鈕的自動點選,其次將按鈕設定為不可見。

image-20240710004802470

點選惡意頁面對應的連結,成功修改電話號碼:

image-20240710005113844

CSRF的防禦

1.使用同站策略SameSite Policy:

Strict禁止Cookie在跨站請求中傳送,Lax禁止Cookie在跨站Post請求中傳送,None允許Cookie在跨站請求中傳送

2.使用CSRF Token,將一個隨機字串隱藏到頁面中,第三方站點受到同源策略的限制無法獲得。

3.對請求頭中的Referer欄位或其他自定義欄位進行驗證。

相關文章