ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CSRF(Cross Site Request Forgery)
    연습장 2024. 8. 20. 20:44

    웹 애플리케이션의 취약점을 이용해 사용자가 의도하지 않은 요청을 보내도록 하는 공격 기법

    사용자의 인증된 상태를 악용하여 사용자가 원하지 않는 행동을 수행하게 함.

     

    예시 상황

    1. 사용자가 로그인

    2. 세션 유지 - jwt 상황 ㄴㄴ. 세션 쿠키가 브라우저에 저장

    3. 사용자가 악성 웹 사이트 방문 - 웹 사이트가 csrf 공격 코드를 포함

    4. 악의적인 요청 전송 - 사용자의 세션 쿠키를 이용해 원래 웹 애플리케이션으로 요청을 보냄

    5. 원래의 웹 애플리케이션 서버는 정상적인 사용자로 인식해 처리

     

    방지방법

     

    Referer헤더 검증

    이것을 이용하여 요청이 신뢰할 수 있는 출처에서 온 것인지 확인할 수 있으나, Referer헤더는 사용자가 조작할 수 있고, 일부 브라우저에서는 이 헤더를 포함하지 않을 수 있음.

     

    csrf토큰 사용

    가장 일반적인 방지 방법. 서버는 각 요청에 대해서 고유한 토큰을 생성하고, 이를 html 폼에 포함시킴

    서버는 폼에 요청이 들어올 때 토큰을 검증... -> 실습을 통해 확인

     

    form대신 api 사용

    rest api를 통해 json 데이터로 통신하면 해당 이슈 피할 수 있음. json토큰이 있어야 하기 때문...?

     

    '연습장' 카테고리의 다른 글

    장애 대응 1 - 모니터링  (0) 2024.08.21
    XSS(Cross Site Scripting)  (0) 2024.08.20
    모니터링  (0) 2024.08.20
    RabbitMQ  (0) 2024.08.19
    모니터링과 로깅, 테스트와 배포  (0) 2024.08.17
Designed by Tistory.