본문 바로가기
system_fundamentals/security_cryptography

SSRF

by 죄니안죄니 2026. 5. 19.
반응형
SSRFSSRF
 
 
 

SSRF(Server-side request forgery)는 한 줄로 말하면:

공격자가 서버로 하여금
원래 접근 못 해야 하는 내부 주소나 시스템에
대신 요청하게 만드는 공격
 

이다.


핵심 아이디어

엄청 중요.

SSRF는:

"공격자가 직접 요청하는 게 아니라,
서버를 이용해서 요청"
 

하는 공격이다.


가장 쉬운 예시

예를 들어 서버에:

이미지 URL 가져오기 기능
 

있다고 하자.


정상 사용

사용자 입력:

https://example.com/image.jpg
 

서버 코드

 
new URL(userInput).openConnection()
 

서버가 대신 요청해서 이미지 다운로드.

정상.


그런데 공격자가 입력

http://127.0.0.1:8080/admin
 

결과

서버가 자기 자신(Localhost)에 요청.

즉:

외부에서는 못 들어가는 내부 API 접근 가능
 

해질 수 있다.

왜 위험하냐?

서버는 보통:

내부망 접근 권한
 

을 가지고 있기 때문.


즉 SSRF는

"서버를 프록시처럼 악용"
 

하는 공격.


대표 공격 대상

1. localhost

127.0.0.1
localhost
 

2. 내부망

예:

10.x.x.x
172.16.x.x
192.168.x.x
 

3. 클라우드 Metadata 서버

엄청 중요.

특히:

  • Amazon Web Services
  • Google Cloud

AWS 대표 주소

http://169.254.169.254
 

왜 위험?

여기서:

IAM 임시 자격증명
 

획득 가능할 수 있었다.

실제 역사적 대형 사고 많음

SSRF로:

  • AWS Key 탈취
  • 내부망 스캔
  • Kubernetes 접근

사고 다수 발생.


공격 흐름 예시

STEP 1

공격자가 URL 입력 가능 기능 찾음.

예:

  • 이미지 가져오기
  • 웹훅
  • PDF 생성
  • URL Preview

STEP 2

내부 주소 입력.

http://localhost:8080/admin
 

STEP 3

서버가 대신 요청.

STEP 4

공격자가 응답 확인 가능하면:

내부 데이터 탈취
 

가능.


Blind SSRF도 존재

응답 직접 안 보여도:

요청 성공 여부
시간 차이
DNS 로그
 

등으로 공격 가능.


SSRF가 무서운 이유

외부 공격자가:

내부망 우회 진입
 

가능해질 수 있음.

즉 서버가 방화벽 우회 통로가 됨.

특히 클라우드에서 위험

예전 AWS Metadata v1은:

GET 요청만으로 credential 조회 가능
 

했다.

그래서 현재는 IMDSv2 도입

추가 토큰 필요.


SSRF 방어 핵심

1. 사용자 URL 직접 요청 최소화

가능하면:

외부 URL fetch 기능 자체 제한
 

2. 화이트리스트

예:

allowedDomains.contains(host)
 
즉 허용 도메인만 접근.

3. 내부 IP 차단

엄청 중요.

 

차단 대상

대역 의미
127.0.0.1 localhost
10.x.x.x 내부망
172.16~31.x.x 내부망
192.168.x.x 내부망
169.254.169.254 cloud metadata

4. DNS Rebinding 주의

도메인 검사 후:

DNS가 내부IP로 바뀌는 공격
 

가능.

그래서 최종 IP도 검사 필요.

5. Redirect 제한

예:

외부 URL
↓ redirect
내부망
 

공격 가능.

따라서 redirect follow 제한 중요.

6. 아웃바운드 방화벽

서버 자체가:

내부망 외 요청 제한
 

하도록 구성.

 

실무에서 SSRF 잘 터지는 기능

기능 위험
이미지 URL 업로드 높음
URL Preview 높음
웹훅 높음
PDF 렌더링 높음
Open Graph 수집 높음

Kubernetes에서도 위험

SSRF로:

  • kube-api
  • etcd
  • 내부 admin panel

접근 가능 사례 존재.


핵심 한 줄

SSRF는:

사용자가 입력한 URL을 서버가 대신 요청하는 기능을 악용해,
외부에서는 접근할 수 없는 내부망·localhost·클라우드 메타데이터 서버 등에
서버를 통해 접근하게 만드는 공격
 

이다.

반응형

'system_fundamentals > security_cryptography' 카테고리의 다른 글

Secret 관리  (0) 2026.05.20
Clickjacking  (0) 2026.05.19
CORS  (0) 2026.05.19
SameSite Cookie  (0) 2026.05.19
CSP  (0) 2026.05.19

댓글