개념
- Cross-site 스크립팅 공격, 사이트 간 스크립팅 공격
- 사용자가 입력한 정보를 출력할 때 스크립트가 실행되도록 하는 공격기법
- 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다.
- 이 취약점은 웹 애플리케이션 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타난다.
- 이 취약점으로 해커가 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 자동으로 비정상적인 기능을 수행하게 할 수 있다.
누군가가 중간에서 사용자의 세션 아이디를 훔친다면 그 사용자처럼 로그인할 수 있게 된다.
이 함수는 html 코드를 해석하지 않고 화면에 그대로 출력하도록 변환
쿠키 속성 HttpOnly 옵션을 활성화
한다.
- HttpOnly: true를 주면 자바스크립트를 통해서 쿠키 값에 접근할 수 없다.
- XSS 공격 방지
세션 옵션 Secure을 활성화
- HTTPS에서만 쿠키가 전송된다. (즉, HTTPS에서만 세션 정보를 주고 받을 수 있다.)
- XSS 공격 방지
쿠키를 사용하는 요청은 서버 단에서 검증하는 로직을 꼭 마련
해두는 것이 좋다.HTTPS를 이용해서 통신
하는 것이 좋다.