2016년 11월 8일 화요일

XSS 정의


XSS는 크로스 사이트 스크립팅이라고 하는데
말그대로 스크립트를 가로질러 넣어버린다고 이해하자
그렇다고 자바스크립트에서만 발생한다고 생각하는데 그렇지도 않다.
VB스크립트, Active X 즉, 클라이언트에서 실행되는 동적 데이터를 생성하는 모든 언어에서 발생 가능함

VB 스크립트--MS가 개발한 active script 언어이다. 
Active X-- MS가 개발한 재사용가능한 객체지향적인 소프트웨어 구성요소 개발에 사용되는 기술
active X로 IE의 플러그인을 만들때 사용한다 대표적인 예로 active x control 있다.

XSS 공격은 공격자가 web application을 써서 악의적인 코드를 보내 end user에게 피해를 입힌다.
end user는 XSS공격의 유무여부에 확인이 불가하므로 공격자가 의도한 script를 실행시키게 된다

malicious한 코드는 그 브라우저또는 사용하는 사이트에 안에서 cookie나 session token 또는 sensitive한 정보에 접근 할수 있다. 또한 스크립트는 심지어 HTML page에 content를 삽입가능하다.

즉,  XSS의 가장 큰 특징은 Server가 아닌 client를 공격하는 것!

그래서 피해자의 쿠키를 훔쳐내서 그 사용자 인것처럼 행세할수 있고 다른 악의적인 사이트로 사용자를
이동시키거나 웹페이지를 조작해 사용자가 개인 정보를 입력하게 할수 있다.

그럼 왜 client 를 공격하냐?

server-side resources들은 server에 저장되있다. 그래서 서버를 운영하는 업체,기업 등등은 자신들의
자원을 지키려고 보안을 철저히한다. 허나 client-side에서 보면 보안 degree가 아주 낮다. 그래서 해커
(공격자)들은 공격하기 쉬운 client-side를 공격하는것이다.














client는 표준 웹 브라우저 되는데 예를 들어 IE, chrome 또는 Embedded browser가 될수도 있다.
(Embedded browser 의 예: email client, media players , e-book reader)

client 공격 후?

server는 공격자가 attack하기 원하는 counterpart이다. client에게 얻어 먹을게 없다 딱히.....
그래서 client의 cookie , session을 이용해 server application에 쉽게 접근하기도 하고
서버가 client의 버젼,주인,환경이 너무나 다양해서 patch 하기 힘들다.


0 개의 댓글:

댓글 쓰기