IT보안 학습

XSS와 CSRF의 차이 총정리

김구티2 2024. 2. 7. 20:18

1. XSS

XSS는 웹 응용 프로그램에서 볼 수 있는 컴퓨터 보안 취약점으로 사이버 범죄자가 사용자가 보는 웹 페이지에 클라이언트 측 스크립트를 주입할 수 있다. 공격자는 신뢰할 수 있는 웹 사이트를 방문할 때 공격자가 주입한 스크립트(대부분 자바스크립트로 작성됨)를 피해자의 브라우저에서 실행하도록 한다. 공격자는 피해자가 신뢰하는 웹 사이트에 자바스크립트를 주입하는 여러 가지 방법을 가지고 있을 것이다. 이는 인증된 세션이 필요하지 않으며, 취약한 웹 사이트가 입력을 확인하거나 탈출하는 기본 작업을 수행하지 않을 때 악용될 수 있다.

 

2. CSRF

사이트 간 요청 위조는 자신이 모르는 사이에 사용자의 정보를 변경하는 것부터 사용자의 계정에 완전히 액세스하는 것까지 다양한 방식으로 악용될 수 있는 가장 심각한 컴퓨터 보안 취약점 중 하나이다. 사이버 범죄자는 쿠키와 같은 기존 피해자의 컨텍스트를 활용하여 의도하지 않은 요청을 하도록 강요를 한다. 웹 사이트와 상호 작용할 때마다 해당 서버는 요청과 함께 보낸 쿠키를 확인하여 사용자임을 알린다.

 

XSS CSRF
공격자는 웹사이트에 악성 클라이언트 측 스크립트를 주입한다. 피해자에게 어떤 형태로든 취약성을 유발하기 위해 스크립트가 추가된 것이다. 악의적인 공격은 사용자가 공격 사실을 인지하지 못한 채, 대상 웹사이트에 악의적인 요청을 보내는 방식으로 이루어진다.
검증되지 않은 데이터로 임의의 데이터를 주입하는 것이다. 공격 번들을 검색하고 실행하는 것은 브라우저의 기능과 특징에 따라 다르다.
이 공격을 수행하려면 JavaScript가 필요하다. 이 공격을 수행하는 데에는 JavaScript가 필요하지 않다.
해당 사이트는 악성코드를 수용한다. 악성코드는 해당 사이트가 아닌 제3자 사이트에 저장되어 있다.
XSS 공격에 취약한 사이트는 CSRF 공격에도 취약하다. XSS 공격 유형으로부터 완벽하게 보호되는 사이트라 해도 여전히 CSRF 공격에 취약하다.
CSRF에 비해 더욱 피해가 크다. XSS에 비해 상대적으로 피해가 적은 편이다.
XSS 취약점을 이용하여 공격자는 자신이 원하는 모든 것을 할 수 있다. CSRF 취약점을 사용하여 공격자는 취약한 URL이 수행하는 작업만 수행할 수 있다.​

 

 

728x90