반응형
**SSRF(Server-Side Request Forgery)**를 실무 중심으로 정리해줄게.
🔥 1. SSRF(Server-Side Request Forgery)란?
정의:
SSRF는 공격자가 서버 내부에서 임의의 URL로 요청을 보내도록 강제하는 공격이야.
쉽게 말하면:
👉 “사용자 대신 서버가 요청을 보내게 만들어 내부망을 공격하는 기술”
외부에서 직접 접근할 수 없는 내부 네트워크(127.0.0.1, 10.x.x.x 등) 또는 **메타데이터 서버(클라우드 계정 정보)**를 공격할 수 있다는 점에서 매우 위험해.
🔹 2. 공격 원리
[사용자 입력: URL] → [서버가 이를 요청] → [검증 미비] → 내부망 공격 성공
예시:
GET /fetch?url=http://example.com
공격자가:
http://target.com/fetch?url=http://127.0.0.1:3306
서버가 내부 MySQL에 접근 → 내부 정보 노출 가능.
🔹 3. 실무 공격 예시
1) 내부망 스캔
url=http://10.0.0.5:8080
→ 내부 서비스가 열려있는지 탐지
2) 클라우드 메타데이터 서버 접근 (매우 위험)
AWS:
http://169.254.169.254/latest/meta-data/iam/security-credentials/
GCP:
→ 클라우드 계정 권한 탈취 → 인스턴스 제어 가능
3) Redis, Memcached 등 비인증 포트 공격
url=http://127.0.0.1:6379
→ 데이터 삽입/삭제 → RCE까지 이어질 수 있음
4) File:// 프로토콜 악용
url=file:///etc/passwd
→ 로컬 파일 읽기
5) DNS Rebinding
공격자가 만든 도메인을 요청하게 하여 내부 IP로 바뀌게 만듦
🔹 4. 공격자가 할 수 있는 일
- 내부망 스캔 (포트 스캐닝)
- DB 공격 (MySQL, Redis 등)
- 내부 관리 페이지 접근
- 민감파일 읽기 (file:///)
- 클라우드 자격 증명 탈취
- RCE로 확장 (Cloud API 조작)
즉 → 외부에서 절대 접근하면 안 되는 내부망을 직접 공격 가능
🔹 5. WAF / 보안관제 대응 포인트
✔ 1) 위험 URL 패턴 차단
- 127.0.0.1, localhost
- 10.*, 172.16.*, 192.168.*
- 169.254.*
- file://, gopher://, ftp://
✔ 2) URL 인코딩 우회 탐지
- %2f, %5c, %31%32%37%2e%30%2e%30%2e%31 등
✔ 3) 서버 내부망으로의 아웃바운드 요청 모니터링
- 갑자기 내부 IP로 HTTP 요청 발생 시 이상행위로 감지
✔ 4) DNS Rebinding 탐지
- 동일 도메인인데 IP가 급격히 변할 때 알림
🔹 6. 개발 단계 방어
- URL 화이트리스트 방식
- 지정된 도메인만 요청 가능
- 로컬/내부 IP 대역 차단
- file://, gopher:// 등 위험 프로토콜 금지
- Redirect 방어
- 공격자가 외부 URL → 내부URL로 Redirect하는 경우 차단
- 서버가 내부망에 요청할 때 반드시 프록시 사용
- DNS 핀닝(DNS 고정 검증)
🎯 한 문장 요약
SSRF = 서버가 공격자의 명령대로 내부망이나 메타데이터 서버로 요청을 보내게 되는 공격으로, 내부 네트워크 공격 및 클라우드 계정 탈취까지 이어지는 매우 위험한 취약점이다.
반응형
'2. 보안 > 2. 보안 관제' 카테고리의 다른 글
| [보안_GPT] Broken Authentication이란? (0) | 2025.11.14 |
|---|---|
| [보안_GPT] XXE(XML External Entity)란? (0) | 2025.11.14 |
| [보안_GPT] RCE(Remote Code Execution) 란? (0) | 2025.11.14 |
| [보안_GPT] Directory Traversal 이란? (0) | 2025.11.14 |
| [보안_GPT] File Upload Vulnerability 이란? (0) | 2025.11.14 |