Study/Web

CSRF(Cross Site Request Forgery)

seomj 2021. 6. 13. 15:06

CSRF란?

사이트간 요청 위조

웹 애플리케이션 취약점 중 하나

사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법

패스워드 변경, 게시글 작성, 삭제 등의 작업을 할 수 있음

 

  1. 공격자는 게시판에 CSRF 스크립트가 포함된 게시글을 등록
  2. 관리자나 사용자가 해당 게시글을 열람
  3. 관리자나 사용자의 권한으로 CSRF 스크립트 요청이 발생하며 공격을 당함

메일 전송으로도 가능

 

사용자가 웹 사이트에 로그인한 상태에서 CSRF가 삽입된 페이지를 열면, 웹 사이트는 위조된 공격 명령이 믿을 수 있는 사용자로부터 발송된 것으로 판단하게 되어 공격에 노출

 

 

XSS와 CSRF

비슷한 점: 클라이언트, 스크립트 언어를 이용함

 

차이점

XSS는 사용자가 특정 웹 사이트를 신용하는 점을 노린 것

CSRF는 특정 웹 사이트가 사용자의 웹 브라우저를 신용하는 점을 노린 것

 

XSS: 클라이언트에서 발생

CSRF: 서버에서 발생

 

XSS는 사이트 변조나 백도어를 통해 클라이언트에 대한 악성공격

CSRF는 요청을 위조하여 사용자의 권한을 이용해 서버에 대한 악성공격

 

 

 

보안

CSRF Token 사용

Referer 검증

CAPTCHA 사용

 

 

 

참고

https://swk3169.tistory.com/24

https://program-developer.tistory.com/99

https://sj602.github.io/2018/07/14/what-is-CSRF/

'Study > Web' 카테고리의 다른 글

[DVWA] CSRF  (0) 2021.06.13
[WebGoat] CSRF  (0) 2021.06.13
[DVWA] DOM Based XSS  (0) 2021.06.13
[DVWA] Stored XSS  (0) 2021.06.13
[DVWA] Reflected XSS  (0) 2021.06.13