Server-Side Request Forgery
伺服器端請求偽造
伺服器端請求偽造(SSRF)是攻擊者控制的輸入,讓伺服器向原本不該存取的內部或外部位置發出請求。
另一個例子
發票工具接受供應商標誌 URL。它只解析一次,只允許核准供應商的 HTTPS 主機,並拒絕解析後落在私有、回送、連結本機或中繼資料網段的位址。它也會停用重新導向、限制資料量和時間、透過對外代理伺服器抓取,並阻擋 `http://169.254.169.254`。
主要部分
- 01攻擊者可影響 URL
- 02Server 端抓取能力
- 03目的地與 Egress 控制
什麼時候用
每個會抓取使用者可影響 URL 的伺服器功能,都要進行威脅分析。必須強制目的地允許清單、網路出口限制,以及名稱解析後的檢查。
什麼時候不要用
只檢查字串開頭、只查一次 DNS,或只解析 URL 都不夠。重新導向和 DNS 重新綁定仍可能跨過已驗證的邊界。
程式裡的名稱
strict URL parser + destination allowlist + IP-range checks + redirect policy + egress proxy 上線前要檢查
只能在明確授權且隔離的防禦測試中操作。檢查信任邊界、無害回歸案例和緩解方法。也要檢查機密與個資處理,以及隱藏敏感資料的偵測訊號。再檢查安全失敗、事件負責人、復原與回復上一版。不得測試真實目標。
預期成果:評估並緩解 伺服器端請求偽造 (Server-Side Request Forgery) 的風險。不得實作、啟用或在真實環境使用這種攻擊。 使用者情境:發票工具接受供應商標誌 URL。它只解析一次,只允許核准供應商的 HTTPS 主機,並拒絕解析後落在私有、回送、連結本機或中繼資料網段的位址。它也會停用重新導向、限制資料量和時間、透過對外代理伺服器抓取,並阻擋 `http://169.254.169.254`。 要處理的風險或控制措施:伺服器端請求偽造 (Server-Side Request Forgery)。 適用理由:每個會抓取使用者可影響 URL 的伺服器功能,都要進行威脅分析。必須強制目的地允許清單、網路出口限制,以及名稱解析後的檢查。 分類邊界:只檢查字串開頭、只查一次 DNS,或只解析 URL 都不夠。重新導向和 DNS 重新綁定仍可能跨過已驗證的邊界。 安全要求:只能在已明確授權、與外界隔離的測試環境中操作。使用無害且不會執行的輸入。保護機密與個人資料,說明哪些資料或系統可以互相信任(信任邊界),並記錄緩解方法。 營運防護:上線前設好偵測與隱藏敏感資料的記錄。指定事件負責人,並定義失敗時保持安全及回復上一版的方法。 驗收條件:防禦用回歸測試在緩解前失敗,緩解後通過。不使用真實目標、機密或個人資料。監控與回復上一版的方法都已驗證。 證據與限制(證據邊界):它只代表該來源的官方說法。其他平台或團隊可能有不同用法。 待確認:授權範圍、受影響資產、資料等級、可能的攻擊者、事件負責人,以及回復上一版的限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 伺服器端請求偽造 (Server-Side Request Forgery)。 定義:伺服器端請求偽造(SSRF)是攻擊者控制的輸入,讓伺服器向原本不該存取的內部或外部位置發出請求。 正式環境檢查:只能在明確授權且隔離的防禦測試中操作。檢查信任邊界、無害回歸案例和緩解方法。也要檢查機密與個資處理,以及隱藏敏感資料的偵測訊號。再檢查安全失敗、事件負責人、復原與回復上一版。不得測試真實目標。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。