SSRF
- Serveer-side-request-forgery
- Back-end의 서비스 간의 http 통신이 이뤄질 때, 사용자가 interpace api에 악의적인 request를 보내
내부 서비스 서버에 악의적인 요청을 전송할 수 있다.
- 웹 서비스의 요청을 변조하는 취약점으로, 브라우저가 변조된 요청을 보내는 CSRF와는 다르게 웹 서비스의 권한으로 변조된 요청을 보낼 수 있음
- API 요청 안의 사용자의 입력이 포함될 경우 발생할 수 있다.
- 입력값이 포함되는 예시로는 웹 서비스가 이용자가 입력한 URL에 요청을 보내거나 요청을 보낼 URL에 이용자 번호와 같은 내용이 사용되는 경우, 그리고 이용자가 입력한 값이 HTTP Body에 포함되는 경우로 나눠볼 수 있다.
- 이용자가 입력한 입력값이 URL에 포함되는 경우
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/73fb8287-4350-4b9f-88a6-c5f98fbb18de/Untitled.png)
http://127.0.0.1:8000/image_downloader?image_url=http://127.0.0.1:8000/request_info
해당 엔드포인트 경로를 입력하게 되면, 서버측에서 의도하지 않았던 마이크로 서비스 api에 접근할 수 있게 된다.