Research Institute
  • A10:2021-Server-Side Request Forgery
    2023년 08월 31일 22시 08분 02초에 업로드 된 글입니다.
    작성자: IIIIIIIIIIIIIIIIIIIIl

    소개

    본 취약점은 악의적인 사용자가 웹 어플리케이션 서버에서 특정 서버 또는 서비스에 요청을 보낼 수 있게 합니다. 이러한 요청은 서버 내부에서 실행되는 다른 서비스나 데이터베이스에 접근하는 데 사용될 수 있으며, 이를 통해 공격자는 서버를 제어하거나 민감한 정보를 유출시킬 수 있습니다. 취약점의 원인은 입력값 검증 또는 인증 부재로 일반적으로, 악의적인 사용자는 요청에서 사용할 URL을 조작하여 서버에 대한 접근 권한을 부여하는 방식으로 취약점을 이용합니다. 예를 들어, 사용자의 프로필 사진을 가져오는 기능을 가진 웹 어플리케이션이 있다고 가정해보겠습니다. 이 기능은 사용자가 업로드한 이미지를 가져오기 위해 사용자가 입력한 URL을 사용합니다. 그러나 이 입력값을 검증하지 않는다면, 악의적인 사용자는 자신의 서버에서 제어 가능한 서버의 데이터에 대한 요청을 보낼 수 있습니다. 이러한 취약점을 방지하기 위해서는 서버 측에서 실행되는 기능에서 입력값을 검증하고 필요한 경우 인증을 적용하여 취약점을 방지해야 합니다. 또한, 보안 로깅 및 모니터링 시스템을 구현하여 악성 요청을 탐지하고 대응할 수 있도록 해야 합니다.

    취약한 예

    1. 외부 시스템 접근 취약점:
      • 공격자가 악성 요청을 보내어 취약한 서버에서 내부 네트워크에 접근하는 경우
      • 공격자가 악성 요청을 보내어 클라우드 서비스 내의 다른 서버 또는 데이터베이스에 접근하는 경우
    2. 루프백 인터페이스를 이용한 취약점:
      • 공격자가 루프백 인터페이스를 이용하여 취약한 서버에서 내부 네트워크에 접근하는 경우
      • 공격자가 루프백 인터페이스를 이용하여 클라우드 서비스 내의 다른 서버 또는 데이터베이스에 접근하는 경우
    3. 파라미터 기반 취약점:
      • 공격자가 취약한 서버에서 내부 네트워크에 접근하기 위해 파라미터를 조작하는 경우
      • 공격자가 클라우드 서비스 내의 다른 서버 또는 데이터베이스에 접근하기 위해 파라미터를 조작하는 경우
    4. HTTP 메서드 기반 취약점:
      • 공격자가 HTTP 메서드를 이용하여 취약한 서버에서 내부 네트워크에 접근하는 경우
      • 공격자가 HTTP 메서드를 이용하여 클라우드 서비스 내의 다른 서버 또는 데이터베이스에 접근하는 경우

    참고자료

    https://owasp.org/Top10

    https://www.bugbountyclub.com/

    댓글