CSRF漏洞
CSRF概念:CSRF跨站點請求偽造(Cross—Site Request Forgery)
原理:
- 用戶C打開瀏覽器,訪問受信任網站A,輸入用戶名和密碼請求登錄網站A;
2. 在用戶信息通過驗證后,網站A產生Cookie信息並返回給瀏覽器,此時用戶登錄網站A成功,可以正常發送請求到網站A;
3. 用戶未退出網站A之前,在同一瀏覽器中,打開一個TAB頁訪問網站B;
4. 網站B接收到用戶請求后,返回一些攻擊性代碼,並發出一個請求要求訪問第三方站點A;
5. 瀏覽器在接收到這些攻擊性代碼后,根據網站B的請求,在用戶不知情的情況下攜帶Cookie信息,向網站A發出請求。網站A並不知道該請求其實是由B發起的,所以會根據用戶C的Cookie信息以C的權限處理該請求,導致來自網站B的惡意代碼被執行。
實現條件
- 受害者正在訪問你要攻擊的網站
- 同時受害者打開你的poc攻擊連接
實例
推薦一個寫的比較清楚的博客:https://blog.csdn.net/wst0717/article/details/81542289
開始初步用法,自己登錄一個網站,抓包獲取相應請求包字段。根據字段構建poc頁面
- get請求的,直接改鏈接
簡單構造鏈接地址如下:"http://127.0.0.1/DVWA-master/vulnerabilities/csrf/?password_new=test&password_conf=test&Change=Change#"
action(提交表單的URL地址)信息通過檢查代碼可得:
type=hidden 是隱藏的意思,不然其顯示出來給用戶發現
method:請求方式是post
應用思路
- 首先你要對目標網站系統自己研究、下載和分析,做代碼審計,發現csrf漏洞后,構建poc
- 然后尋找目標使用所擁有的poc(0day)
- 獲得你想要的數據、權限
實例2:
漏洞類型:csrf漏洞
漏洞詳情:
-
用戶登錄,修改賬戶資料界面,提交抓包
-
根據當前頁面的表單構建poc,也可以直接在bp上面構建。
- 根據表單值構建poc,生成HTML文件(記住一定要用Unicode編碼,不要用記事本寫,被記事本啃死了)
-
將構建的poc頁面發送給受害者,受害者在沒有退出頁面情況下打開鏈接,點擊按鈕。成功