DVWA系列之17 CSRF攻击介绍与实施
CSRF(Cross-Site Request Forgery)跨站點請求偽造,這種攻擊方式的特點是:攻擊者盜用你的身份,以你的名義進行某些非法操作。CSRF能夠使用你的帳戶發(fā)送郵件,獲取你的敏感信息,甚至盜走你的財產(chǎn)。
當(dāng)我們打開或登錄某個網(wǎng)站后,在瀏覽器與網(wǎng)站之間將會產(chǎn)生一個會話,在這個會話沒有結(jié)束時,你就可以利用你的權(quán)限對網(wǎng)站進行某些操作,如:發(fā)表文章、發(fā)送郵件、刪除文章等。當(dāng)這個會話結(jié)束后,你再進行某些操作的時候,Web應(yīng)用程序可能會提示“您的會話已過期”、“請重新登錄”等提示。
比如當(dāng)我們登錄網(wǎng)上銀行后,瀏覽器就已經(jīng)與可信的站點建立了一個經(jīng)過認(rèn)證的會話。之后,所有通過這個經(jīng)過認(rèn)證的會話發(fā)送請求,都被視為可信的動作,例如轉(zhuǎn)賬、匯款等操作。當(dāng)我們在一段時間內(nèi)不進行操作后,經(jīng)過認(rèn)證的會話可能會斷開,再次進行轉(zhuǎn)賬、匯款操作時,這個站點可能會提示你:您的身份已過期,請重新登錄、會話已結(jié)束等信息。
CSRF攻擊正是建立在會話之上的,比如當(dāng)你登錄了網(wǎng)上銀行,正在進行轉(zhuǎn)賬業(yè)務(wù),這時你的某個QQ好友(攻擊者)發(fā)來一條消息(URL),這條消息是攻擊者精心構(gòu)造的轉(zhuǎn)賬業(yè)務(wù)代碼,而且與你所登錄的是同一家網(wǎng)絡(luò)銀行,你可能認(rèn)為這個網(wǎng)站是安全的,然而當(dāng)你打開了這條URL后,你帳戶中的余額可能會全部丟失。
下面我們就來實施一次CSRF攻擊。進入DVWA,選擇low級別,可以看到這里的CSRF測試是要進行更改管理員密碼的操作。默認(rèn)的管理員密碼是password,為了能夠直觀地查看管理員密碼,我們在開始菜單中找到AppServ,執(zhí)行其中的“MySQL Command Line Client”,進入MySQl操作界面。執(zhí)行“use dvwa;”命令打開dvwa數(shù)據(jù)庫,執(zhí)行“select user,password from users where user = ‘a(chǎn)dmin’;”命令,可以查看到目前的admin用戶密碼的md5值。
?
下面我們在CSRF的頁面中將管理員密碼改為123,可以查看到md5值隨之改變。
?
此時我們仔細(xì)觀察瀏覽器地址欄中的URL:
| http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change# |
如果黑客獲知了這個URL,那么是否就可以隨意更改管理員密碼呢?比如構(gòu)造下面這個URL,是否就可以將管理員密碼修改為abc?
| http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=abc&password_conf=abc&Change=Change# |
如果黑客是在自己的電腦上直接執(zhí)行這個URL,那么肯定是無效的。原因是必須要具有管理員的權(quán)限,才可以修改密碼。也就是前面所介紹的,必須要先以管理員身份與網(wǎng)站之間建立好一個會話之后,才可以執(zhí)行修改密碼的操作。
那么黑客就可以構(gòu)造一個網(wǎng)頁,將上面這段代碼放入網(wǎng)頁中,然后誘騙管理員打開這個頁面,如果此時管理員恰好正在對網(wǎng)站進行操作,在管理員的瀏覽器與網(wǎng)站之間建立好了會話,那么上面這段代碼就會生效。
比如我們在一臺已經(jīng)搭建好Web環(huán)境的虛擬機(IP地址192.168.80.132)中編寫一個名為csrf.html的網(wǎng)頁,代碼如下:
| <img src=mm.jpg> <iframe src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=abc&password_conf=abc&Change=Change#" frameborder="0" ;0" /> |
然后在已經(jīng)登錄進入DVWA的狀態(tài)下,在本地的瀏覽器中打開這個網(wǎng)頁http://192.168.80.132/csrf.html:
?
此時就會發(fā)現(xiàn)管理員密碼已經(jīng)被自動修改為了abc:
這就是一次典型的CSRF攻擊,由此可見CSRF的兩個主要特點:
-
CSRF攻擊建立在瀏覽器與Web服務(wù)器的會話中;
-
欺騙用戶訪問URL。
本文轉(zhuǎn)自 yttitan 51CTO博客,原文鏈接:http://blog.51cto.com/yttitan/1727756
總結(jié)
以上是生活随笔為你收集整理的DVWA系列之17 CSRF攻击介绍与实施的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Less学习笔记 -- Mixins(混
- 下一篇: php-fpm详解