來源:http://bbs.ichunqiu.com/thread-9236-1-1.html?from=ch
社區(qū):i春秋
時間:2016年8月4日10:30:00
作者:LoneliNess前言
小編寫本文章,只是希望能跟大牛交流交流,讓更多人了解它....如有錯誤,請你雅正!
目錄
·第一節(jié) 初識CSRF
·第二節(jié) 檢測CSRF漏洞
·第三節(jié) 實戰(zhàn)案例及修復方案
·第四節(jié) 嚴正聲明
正文
第一節(jié) 初識CSRF
1.1、什么是CSRF
CSRF(Cross-site request forgery跨站請求偽造,也被稱為"One Click Attack"或者Session Riding,通??s寫為CSRF或者XSRF,是一種對網站的惡意利用。盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,并且攻擊方式幾乎相左。XSS利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進行防范的資源也相當稀少)和難以防范,所以被認為比更具危險性
通俗的講:攻擊者盜用了你的身份,以你的名義進行一些非法操作,CSRF可以讓你的賬號發(fā)送郵件等操作,從而獲取你的相關信息
1.2、CSRF攻擊原理
一個圖解釋了一切
例子:當你登錄了i春秋的網站,正在進行轉賬泉幣的業(yè)務,這時,攻擊者像你發(fā)了一個url,然而,這個url是攻擊者精心構造的轉賬業(yè)務代碼,而且是同一個網站,你可能認為是安全的,然后點擊了它,but,你的泉幣可能不翼而飛??(PS:咱i春秋木有轉賬功能)
第二節(jié)檢測CSRF漏洞
檢測它的方法有多種,筆者經常用的是全自動的檢測方法和半自動的,當然也有手工的
1.1、全自動化檢測
CSRF-Scanner,這塊工具,缺點真心大,就是誤報率太高了,幾條中半天挑不出一條,so,小編就不詳細的介紹它了
1.2、半自動化檢測
CSRFTester
下載地址:https://www.owasp.org/index.php/File:CSRFTester-1.0.zip
1.安裝CSRFTester
對,沒錯,下載下來,打開run.bat就可以打開它了(PS:需要java的環(huán)境)
看到這個,你也許會納悶啥意思,他表示CSRFTester已經在監(jiān)聽8008端口了,你要使用它,必須要將瀏覽器的端口設置為8008
2.設置瀏覽器代理(360瀏覽器為例)
3. 用戶登錄
單擊“Start Recording”,開啟CSRFTester的檢測工作,這樣以后我們所有訪問的URL以及參數都會被記錄下來。
4. 通過CSRFTester抓取和偽造請求
當你登錄一個網站賬號時,CSRF Tester會進行抓取
我們抓取了該請求,在Step屬性中添加請求,然后將Form Parameter中的eatName改成CSRFTest,然后單擊Generate HTML按鈕來產生CSRF攻擊腳本。
5.分析CSRF攻擊腳本
[AppleScript]純文本查看復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
OWASP CRSFTester Demonstration
var pauses=newArray("406","215","344","390");
function pausecomp(millis)
{
vardate=newDate();
var curDate=null;
do{curDate=newDate();}
while(curDate-date
}
function fireForms()
{
var count=4;
var i=0;
for(i=0; i
{
document.forms.submit();
pausecomp(pauses);
}
}
OWASP CRSFTester Demonstration
https://user.********com:443/login/signin">
https://user.********.com:443/login/verify_image?d=1470218273;">
https://user.**********.com:443/login/selectUserEnt">
https://user.************.com:443/login/signin">
從這段代碼中,闊以看出,這款工具把所有屬性生成了隱藏的input標簽,然后添加了默認值,當訪問這個頁面時,JavaScript會自動提交這個表單………………
當然,你也可以使用burp中的scanner進行檢測………
在任意http請求中,右鍵,選擇Engagement tools –Generate CSRF POC 即可生成CSRFPOC
第三節(jié) 實戰(zhàn)案例及修復方案
目標:***.***.edu.com
注冊賬戶,發(fā)現(xiàn)修改用戶名處無驗證,直接改密碼
Burp抓包,生成CSRF POC
我們可以修改代碼中的數據
當前用戶密碼151515
我們將他修改成123456
提交………..
之后可以看到……修改成功……
修復方案:
1.? ? 二次確認(如彈窗提示)
2.? ? Token認證
第四節(jié) 嚴正聲明
本文討論的技術僅用于研究學習技術交流,嚴禁用于非法行為和破壞行為,否則造成的一切法律責任與作者以及本網站無關。
本文原創(chuàng)作者:LoneliNess,轉載須注明來自i春秋社區(qū)(BBS.ichunqiu.com)
結束語:
相信大家一定收獲頗豐,請多多支持i春秋,不忘初心,方得始終!??!