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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                SSRF (Server-Side Request Forgery:服務器端請求偽造) 是一種由攻擊者構造形成,由服務端發起請求的一個安全漏洞。 很多Web應用都提供了從其他服務器上獲取數據的功能。使用用戶指定的URL,Web應用可以獲取url中的圖片,下文件,讀文件等。 攻擊者可以利用存在缺陷的web應用作為代理攻擊遠程和本地服務器。一般SSRF攻擊的目標是從外網無法訪問的內部系統。 ## 一、成因、用途、點位 ### SSRF形成原因: SSRF漏洞形成的原因大多是因為服務端提供了從其他[服務器/應用]獲取數據的功能,且沒有對目標地址作過濾和限制。 比如從指定URL地址獲取網頁文本內容,加載指定地址的圖片,文檔等等。 >比如 : >A 網站是所有人都可以訪問的外網網站,B 網站是一個他們內部的網站 >我們普通用戶只可以訪問 a 網站,不能訪問 b 網站。 >但是我們可以同過a網站做中間人,訪問 b網站,從而達到攻擊 b 網站需求 所以一般攻擊是選擇一臺可以由我們訪問的存在漏洞的外網服務器(作為跳板機) 正常用戶訪問網站的流程是 輸入 A 網站 URL --> 發送請求 --> A 服務器接受請求(沒有過濾),并處理 -->返回用戶響應 產生的原因:服務器端的驗證并沒有對其請求獲取圖片的參數(image=)做出嚴格的過濾以 及限制,導致 A 網站可以從其他服務器的獲取數據 ### SSRF的用途: 攻擊者利用ssrf可以實現的攻擊主要有5種 1. 可以對外網、服務器所在內網、本地進行端口掃描 獲取一些服務的banner信息 2. 攻擊運行在內網或本地的應用程序 比如溢出 3. 對內網web應用進行指紋識別 通過訪問默認文件實現 4. 攻擊內外網的web應用 主要是使用get參數就可以實現的攻擊(比如struts2,sqli等) 5. 利用file協議讀取本地文件等 ### SSRF漏洞出沒位置 注:個人覺得**所有調外部資源的參數都有可能存在ssrf漏洞** 1. 分享:通過URL地址分享網頁內容 2. 轉碼服務 3. 在線翻譯 4. 圖片加載與下載:通過URL地址加載或下載圖片 5. 圖片、文章收藏功能 6. 未公開的api實現以及其他調用URL的功能 7. 從URL關鍵字中尋找 share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain等 例如: www.xxx.com/xxx.php?image=www.lucity.com/1.jpg 如果我們將 www.lucity.com/1.jpg 換為與該服務器相連的內網服務器地址會產生什么 在存在漏洞的情況想,如果存在該內網地址就會返回 1xx 2xx 之類的狀態碼,不存在就會其他的狀態碼 ## 二、SSRF繞過與防護 ### SSRF常用的后端實現 ssrf 攻擊可能存在任何語言編寫的應用,代碼審計中要注意以下函數 1. file_get_contents 從用戶指定的 url 獲取圖片,然后把它用一個隨機文 件名保存在硬盤上,并展示給用戶 2. fsockopen() 實現獲取用戶制定 url 的數據(文件或者 html)。這個函數會 使用 socket 跟服務器建立 tcp 連接,傳輸原始數據 3. curl_exec() 用來獲取數據 ### 繞過手法 **更改 IP 地址寫法** 一些開發者會通過對傳過來的 URL 參數進行正則匹配的方式來過濾掉內網 IP,如采用如下正則表達式: ``` ^10(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){3}$ ^172\.([1][6-9]|[2]\d|3[01])(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){2}$ ^192\.168(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){2}$ ``` 對于這種過濾我們可以采用改編 IP 的寫法的方式進行繞過,例如 192.168.0.1 這個 IP 地址 我們可以改寫成: (1)、8 進制格式:0300.0250.0.1 (2)、16 進制格式:0xC0.0xA8.0.1 (3)、10 進制整數格式:3232235521 (4)、16 進制整數格式:0xC0A80001 **利用解析 URL 所出現的問題** 在某些情況下,后端程序可能會對訪問的 URL 進行解析,對解析出來的 host 地址進行過濾。這時候可能會出現對 URL 參數解析不當,導致可以繞過過濾。 隨意地址+攻擊地址:`http://www.baidu.com@192.168.0.1/` 當后端程序通過不正確的正則表達式(比如將 http 之后到 com 為止的字符內容,也就是 www.baidu.com,認為是訪問請求的 host 地址時)對上述 URL 的內容進行解析的時候, 很有可能會認為訪問 URL 的 host 為 www.baidu.com,而實際上這個 URL 所請求的內容是192.168.0.1 上的內容。 ### SSRF 防護方法 1、防護措施 (黑名單) (1)過濾 10.0.0.0/8 、172.16.0.0/12、192.168.0.0/16、localhost 私有地址、IPv6 地址 (2)過濾 file:///、dict://、gopher://、ftp:// 危險 schema (3)對返回的內容進行識別 (4)內網服務開啟鑒權(Memcached, Redis, Elasticsearch and MongoDB) 2、最佳防護 1. 使用地址白名單 2. 對返回內容進行識別 3. 需要使用互聯網資源(比如貼吧使用網絡圖片)而無法使用白名單的情況: 首先禁用`CURLOPT_FOLLOWLOCATION`; 然后通過域名獲取目標ip,并過濾內部 ip; 最后識別返回的內容是否與假定內容一致
                  <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>

                              哎呀哎呀视频在线观看