용어와 정의
영문 또는 원어: SSRF
영문 정식명칭: Server-Side Request Forgery
한글명: 서버 측 요청 위조
SSRF는 서버가 사용자가 준 주소나 입력을 따라 의도하지 않은 위치로 요청을 보내도록 유도되는 문제입니다.
정확한 의미와 원리
서버는 외부 사용자보다 더 넓은 내부 자원에 접근할 수 있어 내부 서비스나 메타데이터에 영향을 줄 수 있습니다. 주소의 최초 형태뿐 아니라 해석과 리디렉션도 고려해야 합니다.
쉽게 이해하는 사용 예시
외부 문서를 가져오는 기능이 허용된 목적지와 프로토콜에만 연결하도록 제한하는 설계가 있습니다.
종류와 관련 개념의 차이
SSRF는 서버가 요청하는 경로의 문제이고 CSRF는 사용자의 브라우저가 보내는 권한 있는 요청의 문제입니다. 응답을 바로 볼 수 있는 경우와 없는 경우도 피해 판단이 다릅니다.
적용 조건과 오해하기 쉬운 점
문자열에 내부 주소가 있는지만 검사하면 이름 해석과 우회 경로를 놓칠 수 있습니다. 허용 목적지 검증, 리디렉션 정책과 서버의 외부 및 내부 연결 권한을 함께 제한합니다.
관련 용어와 글
함께 이해할 기준 개념
함께 비교할 용어
- SQL injection SQL 삽입 공격
- CSRF 사이트 간 요청 위조
- CORS 교차 출처 리소스 공유
- CSP 콘텐츠 보안 정책
- Clickjacking 클릭재킹
- Session cookie 세션 쿠키
- Reflected XSS 반사형 XSS
- Stored XSS 저장형 XSS
- DOM-based XSS DOM 기반 XSS
- CSRF token 요청 위조 방지 토큰
- CSP nonce CSP 실행 허용 난수
- HttpOnly 스크립트 접근을 제한하는 쿠키 속성
- Secure cookie attribute 보호 연결 전송 쿠키 속성
- SameSite 사이트 간 쿠키 전송 조건