본문 바로가기
Frontend

XSS, CSRF

by dug_developer 2022. 6. 23.
반응형

XSS (Cross-Site Scritping)

줄이면 CSS인데 Cascading Style Sheet와 혼동이 올 수 있어서 XSS라고 부르는 것이다.

 

  • 웹 페이지에 악의적인 스크립트를 삽입해 방문자들의 정보를 탈취한다.
  • <script>alert('XSS');</script>
  • 의도치 않은 비정상적인 기능 수행을 유발한다.
  • 쿠키나 세션, 토큰을 탈취한다.

 

공격 대상

  • 스크립트 언어 ex) javascript
  • 취약한 코드

 

보안 방법

  • 입력할 때와 출력할 때, 모두 필터링하고, 클라이언트에도 막을 수 있을만한 수단을 구성해놓는 것이 좋다
  • HTML 태그의 사용을 제한하거나 스크립트에 삽입되지 않도록 < > & 등의 문자를 다른 문자로 치환함으로써 방지한다.

 


CSRF (Cross-site request forgery)

  • 사이트 간 요청 위조
  • 공격자가 사용자에게 특정 행동(수정, 삭제, 등록 등)을 시키는 것

 

공격 대상

  1. 위조 요청을 전송하는 서비스( ex) 페이스북 )에 희생자가 로그인 상태
  2. 희생자가 해커가 만든 피싱 사이트에 접속

 

보안 방법

  • CSRF 공격 방어는 조회성(HTTP GET Method) 데이터에는 방어 대상에 두지 않고, 쓰기/변경이 가능한 POST, PATCH, DELETE Method에만 적용하면 됩니다.
  • Back-end 단에서 request의 referrer를 확인하여 domain (ex. *.facebook.com) 이 일치하는 지 검증하는 방법입니다. 일반적으로 referrer 검증만으로 대부분의 CSRF 공격을 방어할 수 있습니다.

 

REF

https://nordvpn.com/ko/blog/xss-attack/

https://namu.wiki/w/XSS

https://itstory.tk/entry/CSRF-공격이란-그리고-CSRF-방어-방법

반응형

'Frontend' 카테고리의 다른 글

[JS] 얕은 복사 & 깊은 복사  (0) 2022.06.25
웹 표준에 관하여  (0) 2022.06.24
sementic tag  (0) 2022.06.21
MVC패턴과 Flux 아키텍처  (0) 2022.06.20
e.preventDefault  (0) 2022.06.20