伺服器端要求偽造

high Web App Scanning Plugin ID 112439

概要

伺服器端要求偽造

說明

Web 應用程式通常依賴網路要求來查詢外部資源並擷取資料以進行處理。

如果攻擊者能夠控制這些傳出要求並將其傳送至其擁有的資源、本機主機本身或目標應用程式內部網路中的私人主機時,就會產生伺服器端要求偽造 (SSRF) 弱點。

透過插入特定要求並使用各種通訊協定 (例如 HTTPS 或 Gopher),攻擊者可利用此弱點嘗試在目標環境中取得敏感資料的存取權、執行未經授權的修改或在遠端執行程式碼。

根據 Web 應用程式的設定,此弱點可能有三種類型:

- Blind:應用程式會執行惡意要求,但不會將任何回應傳回給攻擊者。攻擊者只能依賴自己對目標的瞭解來發動攻擊,因此利用此弱點比較困難。

- Half-blind:應用程式會執行惡意要求,並將回應部分傳回給攻擊者。例如,應用程式可能會傳回與傳出要求狀態有關的不同錯誤訊息。利用此弱點仍比較困難,但是攻擊者可以收集資訊以進一步發動攻擊。

- Non-blind:應用程式會將完整的回應內容傳回至惡意要求。利用弱點比較容易,而且通常會使此弱點的影響更為嚴重。

掃描程式能夠在目標應用程式中插入特製的要求 (應用程式會執行外部要求並傳回部分或完整回應),偵測到伺服器端要求偽造弱點。

解決方案

緩解措施主要取決於應用程式的用途和設計,但通常建議在應用程式層和網路層套用深入防禦原則並強制執行控制措施。
在應用程式中,輸入是由剖析器處理,這在多種情況下可能遭到濫用。建議在執行要求之前,避免讓使用者將完整的 URL 傳送至應用程式,並根據白名單驗證主機名稱或 IP 位址 (若適用)。此外,使用黑名單是防止向本機主機和內部基礎架構的所有資產提出要求的解決方案。應用程式有時會使用 libcurl 等程式庫來執行要求,因此請確保元件為最新狀態,以避免利用剖析器本身的安全性弱點。
在網路層,一種方法是實作網路隔離,以控制和限制基礎架構主機之間的流量,並使用防火牆或 Web Proxy 等安全性服務來強制執行網路限制。

另請參閱

https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html

https://owasp.org/www-community/attacks/Server_Side_Request_Forgery

https://resources.infosecinstitute.com/the-ssrf-vulnerability

https://www.blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf

https://www.bugcrowd.com/resources/webinars/server-side-request-forgery

Plugin 詳細資訊

嚴重性: High

ID: 112439

類型: remote

已發布: 2020/6/9

已更新: 2023/8/9

掃描範本: api, full, pci, scan

風險資訊

VPR

風險因素: Medium

分數: 4.2

CVSS v2

風險因素: High

基本分數: 7.5

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: High

基本分數: 7.3

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

CVSS 評分資料來源: Tenable

參考資訊