XSS는 Cross-Site Scripting 의 약자로, 웹 애플리케이션에서 발생하는 취약점 중 하나로. 이 취약점은 악성 사용자가 웹 페이지에 악성 스크립트를 삽입하여 사용자의 브라우저에서 실행되게 만드는 공격입니다.
// XSS 공격 예시
<script>
const name = "Alice";
const message = "<img src='https://example.com/image.png' onload='alert(\"Hello, " + name + "!\");'>";
document.write(message);
</script>
XSS 공격은 일반적으로 사용자가 입력한 데이터를 웹 페이지에 반영할 때 발생합니다. 악성 사용자는 입력 폼, 게시판, 채팅 등을 이용하여 악성 스크립트를 삽입합니다. 그러면 이 스크립트는 웹 페이지에 접속한 모든 사용자의 브라우저에서 실행되어, 세션 정보나 쿠키 등을 탈취할 수 있습니다.
XSS 공격은 대부분 웹 애플리케이션의 취약성으로 인해 발생합니다. 따라서 개발자는 웹 애플리케이션에서 입력 폼 등에 입력된 데이터를 안전하게 처리하고, 적절한 필터링과 이스케이프를 통해 XSS 공격을 방지해야 합니다.
DOMPurify 모듈은 HTML을 안전하게 파싱하고 렌더링하기 위한 자바스크립트 라이브러리입니다.
이 모듈은 HTML 삽입 공격과 같은 보안 위협으로부터 사용자를 보호하기 위해 고안되었습니다.
DOMPurify는 웹 애플리케이션에서 사용자 입력을 받아들일 때 발생할 수 있는 HTML 인젝션 공격을 방지하는 데 사용됩니다. 또 DOMPurify는 널리 사용되는 프레임워크와 호환되며, React, Vue, Angular 등의 프레임워크에서도 DOMPurify를 사용하여 사용자 입력의 안전성을 보장할 수 있습니다.