크로스 사이트 스크립팅 (XSS) 개요

1809 단어 xss보안
  • 크로스 사이트 스크립팅 (XSS) 개요 정보를 요약합니다.

  • XSS란?


  • 사용자가 액세스할 때 표시 내용이 생성되는 동적 웹 페이지의 취약성 또는 그 취약성을 이용한 공격 방법을 가리킨다.
  • 동적인 Web 페이지가 표시 내용 생성 처리를 실시할 때, Web 페이지에 악의가 있는 스크립트가 짜여져, Web 사이트를 열람한 유저 환경에서 혼잡한 스크립트가 실행된다.


  • XSS 발생 흐름





    악성 스크립트가 가져온 피해



  • 쿠키 정보 추출
  • 쿠키에 포함되어 있는 세션 ID를 빼내고, 이용자가 되는 것으로, 개인정보를 취득한다(세션 하이잭 공격).


  • 웹페이지 개조
  • 개축 예
  • 사용자가 입력하는 양식의 수신처를 다른 URL로 다시 작성하고 입력 내용을 다른 사이트로 전송합니다.
  • 무관한 콘텐츠를 임베드하고 진짜와 위화감 없는 디자인으로 만들어 사용자를 피싱 사이트(함정 사이트, 부정 사이트)로 유도한다.





  • XSS에주의가 필요한 웹 앱의 특징


  • 기본은 모든 웹 앱에서 주의가 필요하다.
  • 쿠키를 이용하여 로그인 세션 관리를 하는 피싱 사기의 공격 타겟이 되기 쉬운 페이지(로그인 화면, 개인정보의 입력 화면 등)를 가지는 어플은 특히 주의가 필요하다.
  • 유저가 입력한 캐릭터 라인을 Web 페이지내에 표시하는 부분으로, 입력 내용의 이스케이프/밸리데이션 처리를 적절히 실시하지 않은 구현을 하고 있는 경우, 매우 위험하다.

  • 대응 수단



    화면 표시에서



  • 이스케이프(서니타이즈, 서니타이징) 처리를 행한다.
  • 특수 기호를 순수한 문자열로 취급한다.


  • 특정 문자열만 표시를 허용한다.
  • 「http://」나 「https://」로 시작되는 URL만을 표시하는 등.


  • 입력 내용에



  • 입력 내용에 대한 검증 처리가 수행된다.
  • 특수기호등을 가능한 한 허용하지 않게 한다.

  • 입력된 HTML 텍스트에서 스크립트에 해당하는 문자열을 제거합니다.



  • 참고 정보


  • 크로스 사이트 스크립팅(XSS)이란? 웹 앱의 대책 방법에 대해
  • 안전한 웹사이트를 만드는 방법 - 1.5 크로스 사이트 스크립팅
  • 좋은 웹페이지 즐겨찾기