데굴데굴

TIL: 2023-04-28 본문

Lesson/TIL

TIL: 2023-04-28

aemaaeng 2023. 4. 28. 22:55

⚙️ 오늘 학습한 내용

CSRF, XSS

🗝 키워드

보안, CSRF, XSS

🗣 스스로에게 설명

CSRF (Cross-site request forgery, 사이트 간 요청 변조)

사용자가 의도치 않게 공격자가 의도한 행동을 하여 취약점을 노출시키거나 수정/삭제/생성 등을 하게 만드는 공격 기법

출처: atatus

사용자의 세션 쿠키 또는 다른 인증 정보를 사용자 모르게 이용한다.

 

공격 시나리오
서비스의 기능 요청을 공격자가 만든 웹 페이지에 사용자의 인증 정보를 포함해 전송한다.

GET CSRF - `<img>` 태그 활용

POST CSRF - `<form>` 태그 활용

 

공격자의 인증 정보로 사용자가 로그인하게 하는 방식이 있다. 

 

대응 방법

  • referer 검증: 요청 헤더에 있는 referer 속성을 검증하여 신뢰할 수 있는 사이트에서 들어온 요청인지 검증한다.
    * referer: 자원이 요청된 주소의 절대 경로/부분 경로를 담는 헤더.
  • CSRF 토큰: 서버 쪽 사용자의 세션에 난수를 저장하고 그 난수를 CSRF 토큰으로 지정하여 사용자에게 전송. 이후 요청부터 토큰이 일치하는지 확인
  • captcha: 사용자에게 숫자/문자 입력하도록 하기
 

[보안] CSRF(Cross Site Request Forgery)란 무엇인가?

CSRF란 무엇인가?12CSRF(Cross Stie Request Forgery) : 사이트간 요청 위조웹 애플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약

sj602.github.io

 

GitHub - baeharam/Must-Know-About-Frontend: 취준생이라면 알면 좋을 프론트엔드 관련 지식들

:mortar_board: 취준생이라면 알면 좋을 프론트엔드 관련 지식들. Contribute to baeharam/Must-Know-About-Frontend development by creating an account on GitHub.

github.com

 

CSRF (Cross-Site Request Forgery)

🔍 Introduction CSRF는 Cross-Site Request Forgery 의 약자로 쿠키의 동작 방식을 이용한 공격 방법으로 사용자의 세션 쿠키 또는 다른 인증정보를 이용하여 사용자 모르게 공격자가 의도한 서비스 요청을

www.hahwul.com

XSS (Cross-site Scripting, 사이트 간 스크립팅)

웹사이트 관리자가 아닌 사람이 사이트에 스크립트를 심을 수 있는 취약점을 이용한 공격기법

cross-site scripting인데 왜 XSS라고 부를까...했는데
이걸 그냥 줄이면 CSS라 그럼 헷갈리니까 Cross를 X로 바꿔서 XSS로 부르는 것 같다. (아마도)

 

XSS 공격은 사용자에게 받는 입력을 제대로 검증하지 않았을 때 발생할 수 있다.

 

공격 유형

  • 저장 XSS: 취약점이 있는 웹 서버에 스크립트를 저장. 서버에 요청이 들어왔을 때 스크립트가 실행되게 하는 방법
  • 반사 XSS: 브라우저는 사용자가 검색한 값에 대한 결과가 없으면 사용자의 입력값을 포함하여 응답한다. (~~에 대한 결과가 없습니다.) 여기서 스크립트를 실행하게 하는 방법. 악성 URL을 배포하여 클릭하도록 유도한다.
  • DOM 기반 XSS: 공격 스크립트가 DOM 생성의 일부로 실행되는 방법. 마찬가지로 악성 URL을 배포하여 실행하도록 한다.

대응 방법

  • 입/출력 값 검증 or 무효화: 입력값에 <script> 태그가 있으면 <를 html entities인 &lt;로 바꿔서 스크립트 태그가 인식되지 않도록 한다.
  • 보안 라이브러리 사용: 입출력 값에 <script>가 포함되어 있는지 확인하는 기능이 구현되어 있는 라이브러리를 사용한다.

 

🔎 공부가 더 필요한 부분

쿠키, 세션과 CSRF, XSS

'Lesson > TIL' 카테고리의 다른 글

TIL: 2023-05-01  (0) 2023.05.01
TIL: 2023-04-29  (0) 2023.04.29
TIL: 2023-04-26  (0) 2023.04.26
TIL: 2023-04-25  (0) 2023.04.25
TIL: 2023-04-24  (0) 2023.04.24
Comments