[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정
01. XSS (Cross-Site Scripting)
: 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도
02. Stored XSS
: 공격자의 스크립트 서버에 저장되었다가 사용자 조회 시 브라우저에 전달되어 실행
불특정 다수에게 지속적으로 전달됨
ex. 게시판에 <script> alert('xss') </script> 와 같은 스크립트를 넣으면, 조회하는 사용자 쪽에서 스크립트가 실행 됨
03. Reflective XSS
: 입력 값이 다음 화면 출력에 사용되는 경우, 입력 값 제한이 없다면 입력 된 스크립트가 사용자 브라우저에서 실행
단축 url과 같이 링크 내용을 숨겨서 전달하는 경우가 많음
ex. id 중복 체크하는 페이지에서
~ check.jsp?abc<script>alert('xss')</script> 처럼 파라미터로 전달되는 값에 스크립트를 넣고, 해당 페이지로 넘어가게 하는 url을 단축을 통해 불특정 다수에게 공격
04. DOM Based XSS
: 개발자가 작성한 스크립트 코드의 취약점을 이용
공격자의 스크립트가 DOM 영역에서 실행됨으로써 서버와의 상호작용 없이 브라우저 자체에서 실행
DOM(Document Object Model, 문서 객체 모델)
브라우저가 웹 페이지를 렌더링 하는데 사용하는 모델 , HTML 및 XML 문서에 접근하기 위한 인터페이스
브라우저는 HTML 문서를 읽고 해석한 결과를 DOM 형태로 재구성하여 사용자에게 제공
방어
- 입력 값에 브라우저에서 실행 가능한 코드(스크립트 코드)가 포함되어 있는지 확인
- 출력 값에 의도하지 않은(= 개발자가 작성하지 않은) 실행 가능한 코드가 포함되어 있는지 확인
- 필터링, 인코딩 작업을 수행할 때는 검증된 로직, 라이브러리, 프레임워크를 사용해서 구현
728x90