본문으로 바로가기

◈ 타사용자 권한획득 실습


K-Sheild 에서 제공한 취약한 홈페이지를 대상으로 XSS 실습


[ 크로스사이트 스크립트 입력 및 공격 절차 ]

1) 공격자가 취약점이 존재하는 서버에 악성 스크립트 게시

2) 공격자가 게시한 악성 스크립트를 보거나 클릭

3) 관리자 또는 사용자의 정보 전송 또는 악성코드 감염 등


[ XSS 타사용자 권한획득 실습 ]

 1) 취약점을 이용하여 타 사용자 세션&쿠키값 절취 후 타 사용자로 로그인 시도

 2) Session Replay Attack

  - cooxie toolbar 이용

  - baby web server 이용

  - 피해자: Windows10 ( ID : victim )

  - 공격자: Windows XP ( IP : 192.168.0.152 )


(1) 크로스사이트 스크립팅이란?

   · 애플리케이션 입력값에 Javascript와 같은 스크립트를 삽입하여 사용자 측에서 비정상적인 조작이 발생하도록 유도

   · 웹 페이지에 악성 스크립트를 삽입해 비정상적인 기능을 수행하는 취약점

   · 사용자 입력 인수 값에 대한 검증 및 필터링이 제대로 이루어지지 않아서 발생

XSS취약점을 찾기 위해선 게시판 같이 글을 올릴 수 있는 홈페이지가 필요하다.

그림 1-1 은 취약한 홈페이지의 게시판 사이트다. 회원가입 후 xss 취약점이 있는지 확인하기 위해 그림 1-2 처럼 내용을 html로 작성 후 해당 게시글을 클릭하였을 때 그림 1-3 처럼 메시지가 나타나면 xss 취약점이 존재하는 게시판이다.

그림 1-1

그림 1-2

그림 1-3


(2) XSS 타사용자 권한획득 실습


[ 공격자 ]

babywebssl.zip

baby web server( 간단한 웹 서버 ) 를 실행시키고 다음 그림들 처럼 세팅을 한다.

그림 2-1

C:\webpages 에 'getcookie.asp'를 생성한다. 그림 2-2 asp는 피해자(victim)이 xss게시글을 클릭하였을 때의 쿠키값이 공격자에게 넘어가게 하는 asp이다.

그림 2-2

그림 2-3


[ 피해자 (victim) ]

그림 2-4 는 피해자의 개인정보이다. 그림 2-5 처럼 공격자가 게시한 xss게시글을 클릭한다.

( 대부분 피해자의 관심을 끌만한 제목으로 게시 )

그림 2-4

그림 2-5


[ 공격자 ]

피해자( victim )가 xss게시글을 클릭한 순간, 공격자의 baby web server에 피해자의 접근이 확인된다.

그림 2-6


C:\webpages 경로로 가보면 'xss.txt' 파일이 생성됨을 확인

그림 2-7

그림 2-8


그림 2-8 에서 해당 쿠키값을 복사하고 그림 2-9 처럼 cooxie 툴바를 사용하여 공격자의 쿠키값란에 피해자( victim ) 의 쿠키값으로 수정하고 새로고침을 눌러보자.

그림 2-9

피해자( victim ) 의 계정을 탈취한 모습을 확인 할 수 있다.

그림 2-10