모의해킹 과제 6주차
ServerSide: SSRF
마이크로서비스 : 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식. 관리 및 코드의 복잡도를 낮추기 위해 사용한다.
Server-side Request Forgery(SSRF) : 웹 서비스의 요청을 변조하는 취약점으로, 브라우저가 변조된 요청을 보내는 CSRF와는 다르게 웹 서비스의 권한으로 변조된 요청을 보낼 수 있다.
백오피스 서비스 : 관리자 페이지라고도 불리며, 이용자의 행위가 의심스러울 때 해당 계정을 정지시키거나 삭제하는 등 관리자만이 수행할 수 있는 모든 기능을 구현한 서비스. 이러한 서비스는 관리자만 이용할 수 있어야 하기 때문에 외부에서 접근할 수 없는 내부망에 위치한다.
웹 서비스는 외부에서 직접 접근할 수 없는 내부망 서비스와 통신할 수 있다. 만약 공격자가 SSRF 취약점을 통해 웹 서비스의 권한으로 요청을 보낼 수 있다면 공격자는 외부에서 간접적으로 내부망 서비스를 이용할 수 있다
구분 문자(Delimiter): 일반 텍스트 또는 데이터 스트림에서 별도의 독립적 영역 사이의 경계를 지정하는 데 사용하는 하나의 문자 혹은 문자들의 배열. URL 에서 구분 문자는 "/"(Path identifier), "?" (Query identifier) 등 이 있으며 구분 문자에 따라 URL의 해석이 달라질 수 있다.
예시
이용자가 입력한 URL에 요청을 보내는 경우
웹 서비스의 요청 Body에 이용자의 입력값이 포함되는 경우
블랙리스트 필터링: URL에 포함되면 안되는 문자열로 블랙리스트를 만들고, 이를 이용하여 이용자의 접근을 제어한다.
화이트리스트 필터링: 접근을 허용할 URL로 화이트리스트를 만들고, 이용자가 화이트리스트 외의 URL에 접근하려 하면 이를 차단한다.