Cross Site Script(CSRF)

OWASP Top 10에 드는 웹 해킹 기법에 대한 복습


🔍 Cross Site Script(CSRF)

  • 사이트 간 요청 위조
  • 사용자 자신의 의지와 무관하게 공격자가 의도한 행위를 수행하게 하는 공격
  • 사용자가 특정 사이트를 신뢰
  • 예시
    • 회원 정보 수정
    • 데이터 수정/삭제
    • 악플
  • XSS사용자가 특정 사이트를 신뢰하기 때문에 발생한다면, CSRF특정 사이트가 사용자를 신뢰하기 때문에 발생.

    사용자가 로그인 상태 + 조작된 페이지 방문 = CSRF 조건 성립

클라이언트인 XSS와는 다르게 서버가 공격대상이다.


CSRF 보안 대책

  1. 재인증
  2. 일회용 토큰 사용
  3. CAPTCHA 사용(로봇이 아닙니다)
  4. Referer(요청을 보낸 페이지) 체크
  5. GET보단 POST
  6. 자동 로그인은 지양..




🔍 Server Side Request Forgery (SSRF)

  • 클라이언트 측의 요청을 변조하는 CSRF와는 다르게 SSRF는 서버 측 요청을 변조한다.
  • 공격자가 원하는 형태의 악성 행위를 서버에 던져주면 서버가 검증없이 실행

CSRF vs SSRF

*CSRF와의 차이점을 알아야한다!

xss

실습해보자.

xss php대신 php3로 우회하여 접속에 성공했다.
이처럼 서버 대상 우회하여 스크립트 공격을 작동시키는 것이 SSRF다!

SSRF 보안 대책

  1. 내부 시스템과 상호 작용하는 변수에 불필요한 값이 입력될 경우 무효처리하는 것이 중요‼️
  2. 변수에 입력된 주소가 올바른지?(신뢰하는 주소가 맞는지) 재검증을 해야 됨
  3. 요청시 도메인 이름에 대한 검증도 해줘야 함(지정해준 도메인 요청하는 경우가 존재하기 때문!)
Written on July 16, 2024