CSRF 認識

CSRF(Cross-site request forgery)跨站請求僞造,也被稱爲「One Click Attack」或者Session Riding,一般縮寫爲CSRF或者XSRF,是一種對網站的惡意利用。利用受害者還沒有失效的身份認證信息(cookie,會話等),誘變點擊惡意連接或者訪問包含攻擊代碼的頁面,在受害人不知情的狀況下以受害者的身份向服務器發送請求,從而完成非法操做。html

HTTP Referer:   Referer  是  HTTP  請求header 的一部分,當瀏覽器(或者模擬瀏覽器行爲)向web 服務器發送請求的時候,頭信息裏有包含  Referer  。Http協議頭中的Referer主要用來讓服務器判斷來源頁面, 即用戶是從哪一個頁面來的,一般被網站用來統計用戶來源,是從搜索頁面來的,仍是從其餘網站連接過來,或是從書籤等訪問,以便網站合理定位.web

類型:json

  1.GET請求。瀏覽器

    驗證時,直接在另外一個瀏覽器上登陸帳戶後訪問URL便可。利用時,則將URL放在html標籤中進行假裝。服務器

    POC構造:cookie

      <img src="url" border="0" style="display: none;"/>網站

      <h1>404</h1>加密

      <h2>file not found.</h2>url

  2.POST請求。code

    須要構造HTML表單。burp中能夠直接構造也能夠本身寫

     POC構造:

        <!DOCTYPE html>

        <html>
        <body>
        <form name="poc" action="" method="POST" type="hidden">
        <input type="hidden" name="newEmail" value="xx"/>
        <input type="submit" value="submit request" style="display: none;">
        </form>
        </body>
        <script>
        poc.submit();
        </script>
        </html>

基本繞過

(1).referer

    (1).是否屬於指定域

    (2).指定關鍵字

    (3)是否有指定域

    (4)爲空時

(2).token

防禦

  (1).驗證碼

  (2)token :加密,隨機令牌

  (3)經過請求頭判斷請求是否與當前頁面同源

相關文章
相關標籤/搜索