본문 바로가기

CS(Computer Science, 컴퓨터 공학)/네트워크

[Network(네트워크)] XSS(Cross Site Scripting, 사이트 간 스크립팅) _디버깅의 눈물

XSS(Cross Site Scripting, 사이트 간 스크립팅)이란?

공격자가 악성 스크립트를 삽입하여 사용자의 브라우저에서 실행되도록 하는 공격입니다.

 

 

XSS 공격의 예시

Reflected XSS(반사 XSS)의 경우, 공격자가 피싱 메일이나 SNS 등을 통해 악성 스크립트 코드가 삽입된 링크를 보냅니다. 피해자가 그 링크를 클릭하면, 웹 사이트에 스크립트 코드가 반영되어 실행됩니다. 이때 스크립트 코드는 피해자의 세션 쿠키나 개인정보 등을 탈취할 수 있습니다.

 

Stored XSS(저장 XSS)의 경우, 공격자가 게시판이나 댓글 등 입력 form에 악성 스크립트 코드를 작성합니다. 다른 사용자가 그 글을 열람하면 웹 페이지에 스크립트 코드가 저장되어 실행됩니다. 이때 스크립트 코드는 사용자의 브라우저를 조작하거나 악성 사이트로 리다이렉션 할 수 있습니다.

 

 

XSS 공격의 예방법

이를 막기 위해서는 웹 애플리케이션에서 사용자 입력 값을 검사하고, 특수 문자를 이스케이프(escape) 처리하여, 삽입된 스크립트가 실행되지 않도록 해야 합니다.

 

또한 HTTPS와 같은 보안 프로토콜을 사용하거나, 쿠키와 같은 민감 정보를 암호화하여 안전하게 전송해야 합니다.