FixVibe

// 프로브 / 스포트라이트

블라인드 SSRF (대역 외)

서버가 사용자가 제공한 URL을 가져온다면, 사용자가 내부 서비스를 가져오게 만들 수 있어요.

What it is

SSRF is the door from the internet into your internal network. Capital One's 2019 breach was an SSRF — the attacker pointed an EC2 instance's URL fetcher at the AWS instance metadata service at 169.254.169.254, pulled temporary IAM credentials, and walked off with 100 million credit applications. The bug is structural: applications that fetch user-supplied URLs are a regular feature of the modern web (image proxies, webhook deliveries, OG-image generators, RSS importers, ActivityPub federation, embed previews), and any one of them is a potential pivot from the public internet into the cloud's private control plane.

How it happens

Blind SSRF appears when a server can be induced to make outbound requests on behalf of an attacker without returning the fetched content directly. The risk is internal network reachability and metadata exposure.

What an attacker gets

Cloud credential theft via instance metadata is the headline impact — temporary IAM creds plus a permissive role policy is full cloud account access. Internal admin panel access bypasses any network-perimeter authentication assumption ('only employees on the VPN can reach this'). Database connection pivots: the server's network position lets the SSRF talk to internal Postgres, Redis, Memcached, MongoDB. Lateral movement into the internal network turns one web bug into a cloud incident.

// what fixvibe reports

What FixVibe reports

Runs in active scans of a domain you have verified you own, on Hobby and above. Each finding shows the affected URL or host, its severity and fix steps you can paste into your AI coding tool.

How to fix it

Validate URLs against an explicit allowlist of trusted hosts before any fetch. The allowlist is hostname-based and resolves DNS server-side. Block private IP ranges after resolution: RFC1918 (10/8, 172.16/12, 192.168/16), link-local (169.254/16, fe80::/10), loopback (127/8, ::1), unique-local IPv6 (fc00::/7), and the cloud metadata addresses specifically. Use a dedicated SSRF-safe HTTP client that resolves DNS once, fetches the resolved IP directly, and refuses to follow redirects to private space (defeats DNS rebinding). On AWS, switch to IMDSv2 — its session-token requirement breaks naive SSRF since the attacker can't forge the PUT request needed to obtain a token. Run the URL-fetching code in a network-segmented container with no route to private subnets, no metadata service access, and outbound DNS only via a controlled resolver. As a final layer, monitor for outbound requests from your fetcher hitting unusual hosts — large diff from baseline is signal.

Key takeaway

SSRF is the bug class where 'allowlist hostnames, block private IPs, segment the fetcher' delivered consistently is more valuable than any single fix. Capital One's lesson cost $80M; the architectural fix is afternoon work.

// 내 앱에서 직접 실행해보세요

FixVibe가 지켜보는 동안 계속 배포하세요.

Verify you own the domain, then run active checks alongside the passive ones.

능동 프로브
138
이 카테고리에서 실행되는 테스트
모듈
58
전용 능동 프로브 검사
verified domains
130+
active checks after verification
Verify your domain →

// 최신 체크 · 실용적인 수정 · 자신 있게 배포

블라인드 SSRF (대역 외): what it is and how to fix it · FixVibe