ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Fiddler 설치 및 사용방법
    Tools 2019. 2. 28. 02:32

    웹 해킹을 공부하기 위해 웹 디버깅 툴인 Fiddler를 설치하고 사용방법에 대해 알아보았다.


    Fiddler 동작 원리

    Fiddler는 유틸 프로그램으로 사용자 컴퓨터의 Proxy Server 역할을 함으로써

    패킷을 보고 수정할 수 있다. (단, HTTP 서비스 프로토콜을 이용한 통신일 경우에만 가능)


    Proxy Server란?

    클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는

    컴퓨터나 응용 프로그램.


    [Fiddler 다운로드] https://www.telerik.com/download/fiddler

    Fiddler를 어떻게 사용할지 설정 후 email을 입력하고 동의에 체크한 후 Download 버튼을 클릭한다.

    그러면, FiddlerSetup 파일이 다운로드 되는데, 이를 실행시켜 설치를 시작한다.


    일단 동의!


    설치할 경로를 설정하고 Install! 하면 설치가 완료된다.

    설치는 완전 쉽다.


    이제 Fiddler 사용방법을 알아보자.

    Fiddler를 실행시키면 아래와 같이 크게 3부분으로 나눌 수 있다.


    인터넷을 실행시킨 상태라면, session list에서 계속 트래픽을 캡처한다.


    트래픽 캡처를 실행/중지하기 위해서는 단축키 F12를 누르거나, File-Capture Traffic을 설정하면 된다.

    session을 분석할 때는 헷갈리지 않게 캡처를 중지하는 것이 좋다.


    session을 헷갈리지 않게 하는 방법으로 마킹을 이용하는 방법도 있다.


    Edit-Mark 이용 (중앙 줄 긋기, 마킹 색 선택, 마킹 취소)

    마킹을 잘 이용하면 분석할 때 한눈에 쉽게 볼 수 있다.


    캡처된 트래픽이 너무 많을 경우에는 원하는 사이트의 세션을 찾기가 어렵다.

    이 때, Edit-Find Session (Ctrl+F) 를 이용한다.

    네이버에 관련된 세션을 보기위해 naver.com을 입력하면 네이버에 관련된 세션들만 마킹되어 알아보기 쉽다.


    세션을 클릭하고 오른쪽 패널의 inspector을 선택하면 요청 값과 응답메시지를 확인할 수 있다.

    요청 값이나 응답메시지를 조작하기 위해서는 Break Point를 걸어주어야 한다.

    (Break Point를 걸어 요청하기 직전, 응답 받은 직후에 값을 조작하기 때문)


    Break Point를 걸어주는 방법은 세 가지가 있는데 나는 보통 하단 바를 이용한다.


    Request Break Point를 이용하여 얻은 세션의 Raw 값을 수정해보았다.

    Raw에서는 Request Data 전체 확인이 가능하다. 따라서, 문제를 풀때 보통 Raw 값을 수정한다.

    값을 수정하고, Break On Response를 누르면 수정된 값으로 Request 보낸다.


    해당 Request에 대한 Response break가 걸려 응답 값이 정상적으로 돌아오는 것을 확인할 수 있다.

    Run to Completion을 눌러 해당 세션을 진행한다.

    (클라이언트에 전달하는 과정)


    Response의 값을 변조하는 방법도 Request와 동일하다.

    Break Point에 걸린 응답메시지의 값을 변조한 후 Run to Completion을 누르면 된다.


    위에 언급한 내용들은 기본적으로 사용되는 기능이고, 추가적으로 편리하게 사용되는 기능을 알아보았다.


    비슷한 요청을 반복할 경우가 생길 수 있는데,

    특정 요청을 매번 브라우저에서 클릭하는 것 보다 한번 보냈던 요청을 재전송 하는 것이 편하다.

    이 때, 사용하는 기능이 Composer이다.


    반복요청을 하기위한 세션을 드래그하여 가져온 후 값을 변조할 수 있는데,

    값을 변조한 후 Execute를 누르면 변조된 값으로 Request 할 수 있다. (단, 버튼을 누른 횟수만큼 생성된다.)


    나는 3번 눌렀고, TestTest라는 값을 추가해 변조한 3개의 요청이 생겼다.

    여러개의 요청을 한번에 실행하기 위해서는 위의 Go 버튼을 누르면 된다.


    웹에서는 인/디코딩을 하는 경우가 많은데, Fiddler는 인/디코딩 하는 기능도 제공한다.

    Tools-TextWizard(Ctrl+E)


    Testing 이라는 문자열을 Base64로 암호화해보니 아주 잘 된다.

    아주 다재다능한 툴이다.


    또한, 더 대단한 것은 특정 URL에 대한 세션만 확인할 수 있도록 하는 Filter 기능도 제공한다.


    네이버에 대한 세션만 확인하기 위해 www.naver.com에 대한 필터링을 걸어주었더니,

    www.naver.com에 대한 세션만 캡쳐되는 것을 확인할 수 있다.

    필터링을 하는 다양한 옵션이 존재하는데, 필요한 옵션을 잘 선택해서 필터링하면 더 유용하다.


    마지막으로, 빠른 명령어를 실행하는 방법이 있다.

    빠른 명령어 실행 창(빨간 네모)에 명령어를 입력하면 더욱 편리하게 Fiddler를 사용할 수 있다.


    빠른 명령어 실행 창으로 Focus를 이동시키는 단축키 : Alt+Q


    [빠른 명령어 Document] https://docs.telerik.com/fiddler/KnowledgeBase/QuickExec


    'Tools' 카테고리의 다른 글

    1. Burp Suite Intruder _ Dictionary Attack 공격  (0) 2021.02.06
    0. Burp Suite 설치 및 사용방법  (0) 2021.02.06

    댓글

@Jo Grini's Blog