<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## CSRF 漏洞簡介 CSRF(Cross-Site Request Forgery,跨站點偽造請求)是一種網絡攻擊方式,該攻擊可以在受害者毫不知情的情況下以受害者名義偽造請求發送給受攻擊站點,從而在未授權的 情況下執行在權限保護之下的操作,具有很大的危害性。 ### CSRF攻擊原理及實例 當我們打開登陸某個網站后,就會產生一個會話,這個會話可能是SESSION、Cookie,但無關緊要的。唯一的重點是瀏覽器與服務器之間是在會話之中 1. 在這個會話沒有結束時候,你可以利用你的權限對網站進行操作,如進行發表文章,發郵件,刪除文章等操作。 2. 當這個會話結束后,你在進行某些操作時候 Web 應用程序通常會來提醒你,您的會話已過期,或者是請重新登陸等提示。 3. 而 CSRF 攻擊則是建立會話之上的攻擊。 比如當你登陸了網上銀行,正在進行轉賬業務,這時你的某個 QQ 好友(攻擊者)發來一條消息(URL),這條消息是攻擊者精心構造的轉賬業務代碼。而且與你所登錄的網站是同一個銀行,你可能認為這個網站是安全的,并不是什么釣魚網站之類的,然后打開了這條URL,那么你的賬戶的錢可能就在你的這一次小小點擊上全部丟失。 4. 攻擊成功主要是因為你的瀏覽器正處于與此網站的會話之中,那么一切正常操作都是合法的,而入侵者構造的這段代碼只不過是正常的轉賬操作代碼而已 * 案例 比如說你想給用戶 spisec 轉賬 1000元,那么點擊提交按鈕之后,可能會發送以下請求: http://www.taobao.com/pay.jsp?user=spisec&money=1000 而攻擊者僅僅是改變一下 user 參數與 money 參數即可完成一次“合法”的攻擊,如: http://www.taobao.com/pay.jsp?user=hack&money=10000 當你訪問了這條URL之后,就會自動向 hack 這個賬戶里面轉入10000元。而這是你親手造成的,并沒有人破解你的密碼或入侵Web服務器 ### 流程總覽 1. 用戶 C 打開瀏覽器,訪問受信任網站 A,輸入用戶名和密碼請求登錄網站 A; 2. 在用戶信息通過驗證后,網站 A 產生 Cookie 信息并返回給瀏覽器 此時用戶登錄網站 A 成功,可以正常發送請求到網站 A; 3. 用戶未退出網站 A 之前,在同一瀏覽器中,打開一個 TAB 頁訪問網站 B; 可能是點擊的郵件、qq會話中的鏈接地址 4. 網站 B 接收到用戶請求后,返回一些攻擊性代碼 攻擊代碼中要求用戶瀏覽器去訪問站點 A; 5. 瀏覽器在接收到這些網站B的返回數據后,根據網站 B 的請求,訪問站點A 瀏覽器在用戶不知情的情況下攜帶Cookie信息,向網站 A 發出請求。 網站 A 并不知道該請求其實是由 B 發起的,所以會根據用戶C的Cookie信息和權限處理該請求 導致來自網站 B 的惡意代碼被執行。 總結 CSRF 兩個側重點 1. CSRF 的攻擊建立在瀏覽器與 Web 服務器的會話之中。 或者是有用戶信息,用戶登錄不用密碼) 2. 欺騙用戶訪問 URL 也就是說攻擊者盜用了用戶的身份,用用戶合法手段進行自己的操作 ## CSRF 攻擊分類和檢測 CSRF 漏洞一般分為站外和站內兩種類型 ### CSRF 站外類型 本質上就是傳統意義上的外部提交數據問題。 通常程序員會考慮給一些留言或者評論的表單加上水印以防止 SPAM 問題, 但是有時為了提高用戶的體驗性,可能沒有對一些操作做任何限制,所以攻擊者可以事先預測并設置請求的參數,在站外的 Web頁面里編寫腳本偽造文件請求,或者和自動提交的表單一起使用來實現 GET、POST 請求 當用戶在會話狀態下點擊鏈接訪問站外 Web 頁面,客戶端就被強迫發起請求。 >SPAM 可以簡單的理解為垃圾留言、垃圾評論,或者是帶有站外鏈接的惡意回復 ### CSRF 站內類型 在一定程度上是由于程序員濫用$_REQUEST 類變量造成的。 在一些敏感的操作中,本來要求用戶從表單提交發起 POST 請求傳遞參數給程序, 但是由于使用了$_REQUEST 等變量,程序也支持接收 GET 請求傳遞的參數,這就為攻擊者使用CSRF創造條件。 一般攻擊者只要把預測的請求參數放在站內一個貼子或者留言的圖片鏈接里,受害者瀏覽了這樣的頁面就會被強迫發起這些請求。 ### CSRF漏洞檢測: 檢測CSRF漏洞是一項比較繁瑣的工作,以下是一個最簡單的流程: 1. 抓取一個正常請求的數據包, 2. 觀察數據包里是否存在用戶信息或者token相關的字段 如果有那么刪除一下看看數據包是否正常,看看響應包是否正常,如果不正常則嘗試放棄(繞過幾率極小) 3. 然后刪除origin字段重新提交 看看響應包是否正常,如果不正常則嘗試放棄(繞過幾率極小) 4. 最后去掉Referer字段后再重新提交 看看響應包是否正常,如果不正常那也可以嘗試繞過 5. 如果以上都正常,則生成POC,另一個瀏覽器登錄驗證。 ### CSRF漏洞容易出現的地方: 1. 修改密碼的地方 2. 添加用戶的地方 3. 數據庫備份的地方數據交易、支付等 4. 等其它一些對話框釣魚頁面 5. CSRF一般與XSS結合使用
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看