-
XSS(Cross-Site Scripting) 보안 취약점💡 개발 이슈와 해결/📚 누군가를 위한 기록 2022. 1. 20. 16:32
XSS(Cross-Site Scripting)
(사이트 간 스크립팅)의 약자로,
웹 페이지에 삽입된 악성 스크립트를 통해
사이트 교차가 되며 발생하는 취약점입니다.
웹 애플리케이션에서 많이 나타나는 취약점의 하나로, 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점입니다.
- 이 취약점은 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타난다. 주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이루어집니다.
- 이 취약점으로 해커가 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 자동으로 비정상적인 기능을 수행하게 하거나 할 수 있다. 주로 다른 웹사이트와 정보를 교환하는 식으로 작동합니다.
"사용자를 믿지 마라.""XSS는 인터넷 시간으로 고대의 유물에 속한, 잘 알려진 공격 요소다.
이 공격을 막지 못한다면 업무 태만이다."
XSS 보안 취약점에 대한 보안처리 방법
XSS 취약점에 대한 보안처리의 목적은 개발자가 의도하지 않는 스크립트 코드가 실행되지 않도록하는 것 입니다.
보안처리 방법
- JSTL <c:out> 태그 사용
- JSTL의 <c:out value="" /> 태그를 사용하면 모든 값은 문자열로 출력됩니다.
- 단점: 이 방법은 모든 view페이지에 작성을 해야하므로 아무런, XSS보안적용이 되지 않은 사이트에 적용해야할 페이지의 본수가 많다면 상당한 공수가 발생합니다.
- script 코드 검사
- DB에 입력전 프론트엔트 또는 백엔드에서 입력값에 script 코드가 포함되어 있는지 확인합니다.
- script 코드가 포함 되었을 경우 등록이 불가하도록 처리해줍니다.
- indexOf constains, startWith, 정규식 등을 활용하여 script 코드 포함여부 확인이 가능합니다.
- XSS Filter 적용
- Servlet Filter에 parameter에 포함된 HTML 엔티티를 이스케이프(escape) 문자로 치환하는 XSS Filter를 적용합니다.
- 장점: 공수가 적습니다.
알아보면서 듣고 싶게된 강의
XSS를 알아보면서 반대로 공격하는 방법에 대해서도 알아보고 싶었습니다.
모의해킹 실무자가 알려주는, XSS 공격 기법 - 인프런 | 강의
이번 강의에서는 클라이언트 공격의 제왕, XSS(Cross-Site Scripting)에 대해 다룹니다. XSS의 기본 개념부터 공격 원리, 그리고 무엇보다 중요한 어떤 프로세스로 공격 절차를 거쳐야 하는지에 대해서
www.inflearn.com
반응형'💡 개발 이슈와 해결 > 📚 누군가를 위한 기록' 카테고리의 다른 글