# Web CSRF Lab1 本實驗的郵件更改功能容易受到 CSRF 的攻擊。要解決該實驗,請製作一些使用 CSRF 攻擊來更改查看器的電子郵件位址並將其上傳到漏洞利用伺服器,可以使用以下憑證登錄自己的帳號:`wiener:peter` 一樣先進入 Lab 中登入帳號。 ![image](https://hackmd.io/_uploads/HynB8B_bxe.png) 登入帳號後一樣先更改電子郵件並攔截起來丟到 Repeater。 ![image](https://hackmd.io/_uploads/HydIvSdbxl.png) ![image](https://hackmd.io/_uploads/B1CdPSOZle.png) 再來就是撰寫 HTML。 :::success Burp suite pro 可直接生成,只是本次先手寫。 ::: 先建立基本的 HTML 語法,並加上標題。 ![image](https://hackmd.io/_uploads/rkL9qr_bee.png) 之後創建一個表單動作(因為要修改電子郵件),並加上目標位置的 URL,而且要設定 Methom 類型及 id。 ![image](https://hackmd.io/_uploads/r1JNsB_bel.png) ![image](https://hackmd.io/_uploads/r1Lz6Subgl.png) 再來我們可以在前面的 POST 請求中看到參數是`email`,這個參數正是我們需要運用到的,可是我們不能讓我們的行為出現在畫面上,讓使用者知道後臺發生了事,所以設定類型為 `hidden`。 ![image](https://hackmd.io/_uploads/SJc6eI_-el.png) ![image](https://hackmd.io/_uploads/rko1bI_Zlx.png) 最後加上 email 。 ![image](https://hackmd.io/_uploads/BJIA78dZll.png) 設定好我們的表單後,再來就是製作自動送出表單的行為。 ![image](https://hackmd.io/_uploads/SJUVr8_Wll.png) 因為不能讓使用者發現自動發送的一連串行為,所以設定 `iframe` 為 `display: none;` ,並在表單中也添加。 ![image](https://hackmd.io/_uploads/Sk-t8LdWeg.png) ![image](https://hackmd.io/_uploads/SJgfPL_-lg.png) 到這裡就完成我們的程式碼,再來就是執行他並更改電子郵件,所以我到 CMD 中開啟 HTTP Server 並讀取我的 HTML 檔。 ``` C:\Users\ASUS>cd Desktop/Burp_suite C:\Users\ASUS\Desktop\burp_suite>python -m http.server 5555 Serving HTTP on :: port 5555 (http://[::]:5555/) ... ``` 接著到瀏覽器中輸入我們的網址。 ![image](https://hackmd.io/_uploads/HyuMQw_bge.png) CMD 回應: ``` C:\Users\ASUS\Desktop\burp_suite>python -m http.server 5555 Serving HTTP on :: port 5555 (http://[::]:5555/) ... ::ffff:127.0.0.1 - - [19/May/2025 15:45:48] "GET /test.html HTTP/1.1" 200 - ``` 可以發現狀態碼是 200,並且網頁上也只顯示我們的標題,看來我們的檔案有被抓到,只剩下電子郵件還沒確認,所以我回去重新整理頁面。 ![image](https://hackmd.io/_uploads/HJ01ZDOWge.png) 發現電子郵件成功被我們更改成 `usagi@haha.yap`,完成本題 Lab。 :::danger 寫完的腳本要貼到網站上,然後點 `DELIVER_TO_VICTIM` 後系統那邊才會顯示完成,不然只會有我們自己這邊有改而已。 ![image](https://hackmd.io/_uploads/Sk9gHv_Zex.png) ::: ---