Hoppa till innehållet

Server-side request forgery (SSRF)

SSRF får en applikation att skicka oönskade nätverksförfrågningar från servern. Avgörande är vilka mål servern faktiskt når.

Även känt somSSRF
IT-säkerhet

Server-side request forgery, förkortat SSRF, innebär att en applikation missbrukas för att få dess server att skicka förfrågningar till oavsiktliga mål. Servern kan ha annan nätverksåtkomst än personen som lämnar indata. Därmed kan exempelvis interna tjänster nås trots att de inte är direkt åtkomliga utifrån.

En dokumentförhandsvisning med ett externt mål

En fiktiv projektportal hämtar ett dokument för förhandsvisning från adressen i fältet previewTarget. Om adressen används utan lämpliga kontroller kan förhandsvisningen bli en mellanhand för oönskad åtkomst. Problemet ligger här i serverns hämtning, innan dokumentet visas. Sådana anrop kan ge oönskade effekter även om svarsinnehållet inte lämnas tillbaka.

I denna portalvariant är förhandsvisningen bara avsedd för kända dokumentkällor. Applikationen kan därför fastställa tillåtna källor i stället för att godta godtyckliga mål. Begränsningen passar bara om funktionen faktiskt kan begränsas till kända källor.

Se målgranskning och nätverksgräns tillsammans

MDN och OWASP beskriver skydd på applikations- och nätverksnivå. Det räcker inte att kontrollera det skrivna värdnamnet: Även de uppslagna måladresserna och den faktiska anslutningen måste följa regeln för tillåtna mål. Omdirigeringar kan ändra målet och får inte kringgå kontrollen.

Tjänsten behöver bara den nätverksåtkomst som uppgiften kräver. Protokoll- och målbegränsningar, kontrollerade omdirigeringar och begränsade nätverksrättigheter samverkar. Enbart HTTPS gör inte ett mål tillåtet. Portalexemplet förklarar tillitsgränsen; det beskriver ingen genomförd hämtning eller något genomfört säkerhetstest.

Källor