<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 成因: 首先用戶訪問了Web A之后在本地儲存了Cookie認證信息;其次,用戶被攻擊者誘導訪問了Web B上的惡意鏈接,這個惡意鏈接在Web A 上執行了惡意代碼。 也就是說要完成CSRF的攻擊,有兩個條件(即成因):用戶本地含有正常網站的認證信息;用戶訪問了惡意鏈接。 # 實例: * 某站后臺CSRF添加管理員賬號,直接CSRF修改密碼的情況已經很難遇到了,但后臺添加管理員還是可以遇到幾個 * 某購物網站CSRF修改收貨地址 * 某企業招聘網站CSRF修改簡歷信息 * 某社區CSRF蠕蟲威脅情報分析等 # 分類: 從數據包的角度可以分為Get型和POST型 從利用的角度也可以分為: 1. 對后臺管理員進行攻擊,比如誘騙管理員點擊的修改管理密碼、添加管理員等 2. 修改普通用戶賬戶和數據,比如修改個人資料、手機綁定、收貨地址等 3. 賬戶劫持,比如修改密碼等 4. 結合其他類型漏洞進行利用,比如selfxss+CSRF可成功攻擊他人 5. CSRF蠕蟲,比如很多點我鏈接發微博、點我鏈接改信息等 # 發現方法: 1. 首先就是對目標敏感部位進行抓包分析,比如修改信息、轉賬、添加信息等等。通常一個數據包HTTP請求頭里邊都會有一個Referer,這個需要特別去驗證。比如放到Burpsuit Repeater里邊去測試:去掉Referer,看結果是否有變化。如果沒有變化意味著這里的Referer服務器端并未驗證,那就繼續看下一步。 2. 緊接著就是查看數據包是否存在類似CSRF token的字段、常見的有參數有CSRF、token、sid……(一般這些字段的值都是隨機字符串),如果沒有的話就排除CSRF Token的驗證了。轉到下一步。 3. 很多時候走完了上邊兩個流程其實就已經可以斷定這里是存在CSRF的,不過還有一個隱蔽的地方。在某些操作對數據包的提交采用Ajax的情況,存在一種情況,就是數據包HTTP請求頭會自定義一個字段,這個時候就像存在Referer的情況一樣,沒辦法CSRF了。 # 高級實例: 除了2中所說的幾種案例,現在更多的是需要繞過的,比如在測試某站點存在的兩處敏感操作的時候,發現其存在Referer驗證,需要通過繞過“判斷Referer是否有某域名”才可以觸發。 這里就介紹幾種CSRF中Referer驗證的繞過方法: * Referer為空的情況:利用ftp://,http://,https://,file://,javascript:,data:這個時候瀏覽器地址欄是file://開頭的,如果這個HTML頁面向任何http站點提交請求的話,這些請求的Referer都是空的 * 判斷Referer是某域情況下繞過:比如你找的CSRF是 xxx.com 驗證的Referer是驗證的*.xx.com 可以找個二級域名 之后<img "CSRF地址"> 之后在把文章地址發出去 就可以偽造 * 判斷Referer是否存在某關鍵詞:Referer判斷存在不存在google.com這個關鍵詞,在網站新建一個google.com目錄 把CSRF存放在google.com目錄,即可繞過 * 判斷Referer是否有某域名:判斷了Referer開頭是否以126.com以及126子域名 不驗證根域名為 126.com 那么我這里可以構造子域名x.126.com.xxx.com作為蠕蟲傳播的載體服務器,即可繞過。 * CSRF結合其他漏洞利用: 一個嚴格驗證Referer的敏感操作+同域下的一個URL跳轉+一臺vps=一個完整的CSRF蠕蟲。 在后臺存在Getshell的情況下,利用CSRF可Getshell。比如Catfish—緩存漏洞&&配合CSRF到Getshell * 多步CSRF利用:利用form標簽的target=_black或結合frame標簽進行多步CSRF利用。 # 防御: 1、在敏感操作步驟中檢測HTTP頭部Referer信息。Server端收到請求后,先檢測Referer是否為本域的請求; 2、也可以在請求表單中加入anti CSRF token字段; 3、某些操作也可以采用驗證碼的形式。 # tip: * 偽裝來自受信任用戶的請求來利用受信任的網站請問這能解釋下嗎? 就是攻擊者構造了poc,正常的用戶點擊之后觸發,也就相當于是受信任的用戶發出的請求,利用用戶的憑證讓用戶神不知鬼不覺的操作。 * 這個和xss區別在哪,xss也是獲取用戶憑證? Xss可以獲取用戶憑證,而CSRF只是利用用戶憑證在用戶不知情的情況下執行某些重要操作。通俗的說xss可以執行任意js,CSRF只是請求偽造而已。 * 請教下,如果csrf需要發送post包,要怎么操作呢? 一般用form表單就可以呢,有的時候為了防止跳轉可以令其跳轉到同頁面frame,測試漏洞的時候也可以直接用burp生成。 * 好多網站驗證的content-type咋辦? 用js fetch()。
                  <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>

                              哎呀哎呀视频在线观看