DVWA系列之17 CSRF攻擊介紹與實施

2021-09-21 22:01:52 字數 1507 閱讀 1451

csrf(cross-site request forgery)跨站點請求偽造,這種攻擊方式的特點是:攻擊者盜用你的身份,以你的名義進行某些非法操作。csrf能夠使用你的帳戶傳送郵件,獲取你的敏感資訊,甚至盜走你的財產。

當我們開啟或登入某個**後,在瀏覽器與**之間將會產生乙個會話,在這個會話沒有結束時,你就可以利用你的許可權對**進行某些操作,如:發表文章、傳送郵件、刪除文章等。當這個會話結束後,你再進行某些操作的時候,web應用程式可能會提示「您的會話已過期」、「請重新登入」等提示。

比如當我們登入網上銀行後,瀏覽器就已經與可信的站點建立了乙個經過認證的會話。之後,所有通過這個經過認證的會話傳送請求,都被視為可信的動作,例如轉賬、匯款等操作。當我們在一段時間內不進行操作後,經過認證的會話可能會斷開,再次進行轉賬、匯款操作時,這個站點可能會提示你:您的身份已過期,請重新登入、會話已結束等資訊。

csrf攻擊正是建立在會話之上的,比如當你登入了網上銀行,正在進行轉賬業務,這時你的某個qq好友(攻擊者)發來一條訊息(url),這條訊息是攻擊者精心構造的轉賬業務**,而且與你所登入的是同一家網路銀行,你可能認為這個**是安全的,然而當你開啟了這條url後,你帳戶中的餘額可能會全部丟失。

下面我們在csrf的頁面中將管理員密碼改為123,可以檢視到md5值隨之改變。

此時我們仔細觀察瀏覽器位址列中的url:

如果黑客獲知了這個url,那麼是否就可以隨意更改管理員密碼呢?比如構造下面這個url,是否就可以將管理員密碼修改為abc?

如果黑客是在自己的電腦上直接執行這個url,那麼肯定是無效的。原因是必須要具有管理員的許可權,才可以修改密碼。也就是前面所介紹的,必須要先以管理員身份與**之間建立好乙個會話之後,才可以執行修改密碼的操作。

那麼黑客就可以構造乙個網頁,將上面這段**放入網頁中,然後誘騙管理員開啟這個頁面,如果此時管理員恰好正在對**進行操作,在管理員的瀏覽器與**之間建立好了會話,那麼上面這段**就會生效。

比如我們在一台已經搭建好web環境的虛擬機器(ip位址192.168.80.132)中編寫乙個名為csrf.html的網頁,**如下:

然後在已經登入進入dvwa的狀態下,在本地的瀏覽器中開啟這個網頁

此時就會發現管理員密碼已經被自動修改為了abc:

這就是一次典型的csrf攻擊,由此可見csrf的兩個主要特點:

DVWA系列 CSRF 檔案包含

直接.robots.txt讀取robots.txt檔案 在linux下可訪問 etc passwd 遠端檔案包含 本漏洞需要 php 開啟 allow url fopen on allow url include on 這兩個函式,並且 magic quotes gpc off 嘗試訪問本地的乙個p...

Web安全之CSRF攻擊

csrf是什麼?csrf cross site request forgery 中文是跨站點請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個例子 簡單版 假如有個加關注...

Web安全之CSRF攻擊

源文位址 csrf是什麼?csrf cross site request forgery 中文是跨站點請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個例子 簡單版 假如...