xss 취약점 예제

SOP는 모든 웹 브라우저에서 가장 중요한 보안 원칙 중 하나입니다. 예를 들어 페이지 https://example.com/index.html https://example.com/about.html 콘텐츠에 액세스할 수 있지만 https://attacker.com/index.html https://example.com/about.html 콘텐츠에 액세스할 수 없습니다. XSS(교차 사이트 스크립팅)는 웹 응용 프로그램의 취약점이며 공격자가 합법적인 웹 페이지에 악성 스크립트를 삽입하고 실행하는 클라이언트 측 공격의 이름입니다. 브라우저는 HTML을 표시하고 자바 스크립트를 실행 할 수 있습니다. 응용 프로그램이 입력/출력에서 특수 문자를 이스케이프하지 않고 사용자 입력을 브라우저로 다시 반영하는 경우, 대적이 XSS(교차 사이트 스크립팅) 공격을 성공적으로 시작할 수 있습니다. 예제에서 보여 주는 것처럼 XSS 취약점은 HTTP 응답에서 유효성이 검사되지 않은 데이터를 포함하는 코드로 인해 발생합니다. XSS 공격이 피해자에게 도달할 수 있는 세 가지 벡터가 있습니다. 악의적인 사용자가 이 스크립트를 웹 사이트의 코드에 삽입하면 사용자의 브라우저에서 실행되고 쿠키가 악의적인 사용자에게 전송됩니다. 콘텐츠 필터링 외에도 사이트 간 스크립팅 완화를 위한 다른 불완전한 방법도 일반적으로 사용됩니다. 한 가지 예는 쿠키 기반 사용자 인증을 처리할 때 추가 보안 컨트롤을 사용하는 것입니다.

대부분의 웹 응용 프로그램은 개별 HTTP 요청 간의 인증을 위해 세션 쿠키에 의존하며 클라이언트 측 스크립트는 일반적으로 이러한 쿠키에 액세스할 수 있으므로 간단한 XSS 악용은 이러한 쿠키를 훔칠 수 있습니다. [30] 이 특정 위협을 완화하기 위해(일반적으로 XSS 문제는 아니지만) 많은 웹 응용 프로그램은 세션 쿠키를 원래 로그인한 사용자의 IP 주소에 연결한 다음 해당 IP만 해당 쿠키를 사용하도록 허용합니다. [31] 이것은 대부분의 상황에서 효과적이지만(공격자가 쿠키 뒤에있는 경우), 공격자가 피해자와 동일한 NATed IP 주소 또는 웹 프록시 뒤에 있거나 피해자가 자신의 모바일 IP를 변경하는 상황에서 분명히 분해됩니다. [31] XSS(교차 사이트 스크립팅)는 일반적으로 웹 응용 프로그램에서 발견되는 컴퓨터 보안 취약점의 한 유형입니다. XSS를 사용하면 공격자가 클라이언트 쪽 스크립트를 다른 사용자가 보는 웹 페이지에 삽입할 수 있습니다. 공격자가 동일한 원본 정책과 같은 액세스 제어를 우회하는 데 사이트 간 스크립팅 취약점을 사용할 수 있습니다. 웹 사이트에서 수행된 교차 사이트 스크립팅은 2007년 기준으로 시만텍이 문서화한 모든 보안 취약점의 약 84%를 차지합니다. [1] 2017년 XSS는 여전히 주요 위협 벡터로 간주되었습니다. [2] XSS 효과는 취약한 사이트에서 처리하는 데이터의 민감도와 사이트의 소유자 네트워크에서 구현한 보안 완화의 특성에 따라 사소한 성가신 것부터 중요한 보안 위험에 이르기까지 다양합니다.