XSS(Cross site Scripting)이란 웹 애플리케이션에서 사용자 입력값에 대한 필터링이 제대로 이루어지지 않을 경우 게시판, Q&A, 댓글 등에 악성 스크립트 코드를 넣어 사용자 및 관리자 쿠키/세션을 탈취하는 공격방식 이다.
XSS는 stored xss, reflected xss, dom dasesd로 3가지로 나뉜다.
1. Stored XSS:공격자가 해당 게시글에 악성 스크립트를 삽입하여 해당 게시글을 저장 후 불특정 다수를 대상으로 하여 공격하는 방식으로 이는 스크립트가 DB에 저장이 되며(다회성 공격이 가능) 사용자가 클릭을 했을 때 동작을 한다.
stored xss 예제)
2. Reflected XSS: 특정 사이트에 있는 URL주소 입력창에 직접 주소를 입력하여 공격하는 기법이다. Reflected XSS는 Stored XSS와 달리 DB에 저장이 되지 않고(일회성 공격) 해특정인 or 불특정 다수)가 URL을 클릭했을 때 공격이 실행된다. Reflected XSS공격은 이메일,메신저,SNS등을 이용하여 공격하는 방식이다.
reflected xss 예제)
위 그림과 같이 URL주소에 <script>구문을 삽입한 주소가 있다. 여기서 우리가 생각해 볼 것은 window.open()안에 있는 구글 주소가 진짜 구글 주소가 아닌 해커가 만든 가짜 구글(파밍 사이트)이라고 가정해보자. 그러면 우리는 이 해당 주소를 복사를해 SNS,메시지,이메일,카XX톡 등으로 특정 사용자에게(친구,직장 상사 등)에게 보낸다.
이렇게 메신저로 해커가 만든 가짜 구글(파밍 사이트)를 보내고 해당 링크를 클릭했을때 바로 구글 사이트로 이동이 된다. 이렇게 보면 도대체 이걸로 뭘 할 수 있다는 거지?라고 생각이 들 수 있다.
그런데 만약 이 사이트가 구글이 아닌 요즘 유행하는 배틀그라운드, 각종 유명 사이트로 파밍 하였다면??
내 친구의 게임 계정을 해킹하고 싶다고 가정해보자 그러면 공격자는 친구가 자주 이용하는 게임사이트를 파밍하여
해당 링크(파밍 사이트)+이벤트를 한다는 거짓정보와 함께 메신저로 보낼것이고 친구는 링크를 클릭하여 로그인 창에 계정을 입력 할 것이다.
하지만 그 사이트는 파밍사이트이기에 친구 계정은 공격자에게 넘어간다. Reflected XSS는 이런 방식으로 해당 사용자의 계정을 탈취해 간다.
'웹 취약점 분석' 카테고리의 다른 글
PART 4: CSRF를 이용한 사용자 강제 정보수정. 위즈몰(PHP 기반) (0) | 2019.10.02 |
---|---|
PART 3: CSRF를 이용한 관리자 PWD변경. 위즈몰(PHP 기반) (0) | 2019.10.02 |
PART 2: CSRF를 이용한 포인트 변조. 위즈몰(PHP 기반) (0) | 2019.10.02 |
Part 1: CSRF를 이용한 사용자 강제 회원 탈퇴. 위즈몰(PHP기반) (0) | 2019.07.16 |
파일 업로드 취약점(ASP기반) (0) | 2019.07.03 |
댓글