Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

OWASP Top 10: Server-Side Request Forgery (SSRF)

01. 01. 2024 1 min čtení intermediate

SSRF umožňuje útočníkovi přinutit server posílat requesty na interní služby — AWS metadata, interní API, databáze.

Jak SSRF funguje

❌ Zranitelný kód

@app.post(“/fetch-url”) async def fetch_url(url: str): response = requests.get(url) # Útočník: http://169.254.169.254/ return response.text

Prevence

import ipaddress from urllib.parse import urlparse BLOCKED = [ ipaddress.ip_network(‘10.0.0.0/8’), ipaddress.ip_network(‘172.16.0.0/12’), ipaddress.ip_network(‘192.168.0.0/16’), ipaddress.ip_network(‘169.254.0.0/16’), ] def is_safe_url(url: str) -> bool: parsed = urlparse(url) if parsed.scheme not in (‘http’, ‘https’): return False import socket for _, _, _, _, addr in socket.getaddrinfo(parsed.hostname, None): ip = ipaddress.ip_address(addr[0]) if any(ip in net for net in BLOCKED): return False return True

Cloud ochrana

  • AWS: IMDSv2 (vyžaduje token)
  • Network: Egress firewall
  • Segmentace: App servery v separátním subnetu

Klíčový takeaway

Validujte URL, blokujte privátní IP rozsahy, používejte IMDSv2. SSRF je gateway do interní infrastruktury.

owaspsecurityssrfcloud