본문 바로가기

회고록(TIL&WIL)

TIL 2022.08.11 XSS 방지 코드

XSS (Cross Site Scripting)

공격자가 상대방의 브라우저에 사이트 내 input 창에서 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 진행하는 것을 말합니다.

 

해결방법은 input 창에 들어가는 값들에 대해 vaildation을 걸어줘야한다.

길이 제한, 특수문자 제한 등 기본적인 validation이 필요한 곳을 제외한 모든 input 창에서 <script> <img> 같은 태그형태의 값이 들어 오면 그대로 출력되지 않도록 처리를 해주어야 한다.

function XSSCheck(text) {
    text = text.replace(/<(\/)?([a-zA-Z]*)(\s[a-zA-Z]*=[^>]*)?(\s)*(\/)?>/gi, "");
    return text;
}