Cross Site Scripting

클라이언트가 서버를 신뢰하기 때문에 발생하는 이슈

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e26c7ec0-6eb9-4f47-b482-23942f6892e1/Untitled.png

XSS란, 보안이 약한 웹 애플리케이션에 대한 웹 기반 공격

XSS 공격의 희생자는 애플리케이션이 아닌 User

XSS 공격에서 해로운 컨텐츠는 JS를 활용하여 전달됨.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/eee462d8-8825-4e48-a8de-ab3f1f033c48/Untitled.png

XSS 공격을 방지하는 7계명 (OWASP)

  1. 허용된 위치가 아닌 곳에 신뢰할 수 없는 데이터가 들어가는 것을 허용하지 않는다.
  2. 신뢰할 수 없는 데이터는 검증을 하라.
  3. HTML 속성에 신뢰할 수 없는 데이터가 들어갈 수 없도록 하라.
  4. 자바스크립트에 신뢰할 수 없는 값이 들어갈 수 없도록 하라.
  5. CSS의 모든 신뢰할 수 없는 값에 대해서 검증하라.
  6. URL 파라미터에 신뢰할 수 없는 값이 있는지 검증하라.
  7. HTML 코드를 전체적으로 한번 더 검증하라.

XSS(Cross Site Scripting) 공격이란?