Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

니삼 블로그

지극히 주관적이고 안친절한 Fiddler 사용법 본문

지극히 주관적이고 안친절한 Fiddler 사용법

Nisam 2016. 6. 19. 19:51

0. 서론

드디어 방학이다 데-헷☆ 사실 이제 할거 없음.. 또르르.....ㅠㅠ 이제 뭐하고 삼... 거기다 블로그 도메인이 끊겨서 넘나 슬픈것..

그런 기념으로 오랜만에 블로그 포스팅을 한다.

나는 여러가지 이유로 버프슈트를 사용하지 않는데, 대안으로 사용하고 있는게 피들러다.

피들러는 몇몇 공격도구를 포함하고 있는 버프슈트의 공격 기능을 제외하고는 모든 기능에 대응할 수 있다. 게다가 버프슈트보다 빠르고 편하다.(개인적인 생각 악플 ㄴㄴ)


앞으로 "내가" 사용하는 피들러의 기능과 사용법을 소개하려고 한다. 즉 피들러의 모든 기능을 설명하진 않을 예정!


1. 설치

다운로드 경로 https://www.telerik.com/download/fiddler/fiddler4

설치는 역시나 언제나 NEXT-NEXT-NEXTTTTTT


2. 버프슈트 대응하기

설치가 끝났으면 버프슈트의 기능을 하나하나씩 피들러로 사용해보겠다.


  • 버프슈트의 Intercept
  • 버프슈트의 Repeater
  • 버프슈트의 Match and Replace
  • 버프슈트의 Decoder


일반적으로 이거 말고 다른거 쓰는 사람 있나? 있다면 당신은 진정한 고수! 브라우저 상단의 X버튼을 누르고 나가면 된다. Intruder를 가끔 사용하긴 하는데... 우린 코딩의 고수 코딩으로 대체하자.


2.1. 버프슈트의 Intercept == 피들러의 Breakpoint

HTTP 프록시도구를 사용하는 가장 큰 이유! 존재의 가치!인 버프슈트의 Intercept기능은 피들러에서 Breakpoint기능으로 대응된다.

요청하는 HTTP 패킷을 중간에 프록시 툴이 잡아두고 해당 HTTP Request나 Response를 브라우저에 주기 전에 확인 또는 변조를 할 수 있는 기능이다.


직접 피들러를 키고 한번 사용해보자.


막 키자마자 HTTP패킷을 잡기 시작했다.(사실 지우고 안깔아서 뭔가 나랑 좀 다를지도... 데헷;;)

아마 정상적으로 설치했다면, 실행시 피들러가 스스로 윈도우의 인터넷 프록시 설정을 일시적으로 바꾼다. ㄷㄷ 겁나 편하지 않음?..(참고로 끌때는 원래 옵션으로 돌려놓는다.)

여튼 이러한 기능을 제공하기에 별도의 브라우저 익스텐션이나 엑티브x같은걸 깔아서 프록시 설정을 바꾸는 귀찮은짓을 안해도 된다는 것!


그래 이제 프록시 설정을 자기 스스로하고 지가 HTTP 패킷을 캡쳐하는건 알겠는데 어떻게 껏다 켰다 함?? 분석할 때 이것저것 뜨면 ㅈㄴ 빡치잖아..


(요즘 GIF 이미지 넣는게 대세라던데..)

하단의 Capturing 버튼을 키고 끔으로써 패킷 캡쳐를 작동/종료 시킬 수 있다.



이제 본격적으로 피들러의 Breakpoint기능을 사용해본다. 위의 그림과 같이 피들러의 Breakpoint는 3가지 상태가 있다. Breakpoint는 단축키를 이용해서 키거나 하단의 Breakpoint 상태바를 클릭해서 킬 수도 있다.


  1. Before Requests (단축키 F11)
  2. After Responses (단축키 ALT+F11)
  3. Disabled (단축키 SHIFT + F11)

첫번째 상태인 Before Requests는 말그대로 HTTP Request를 보내기전에 Breakpoint를 걸어 Request를 분석하거나 변조하거나 Drop을 할 수 있다. (참고로 버프슈트 처럼 Break 걸었던 Request를 서버로 전송한 뒤에 Response에서 다시 Break를 걸 수 있다.)

두번째 상태인 After Responses는 HTTP Response가 서버에서 돌아와 브라우저에게 가기전에 Fiddler에서 Response 데이터를 조작하거나 Drop 할 수 있다.

세번째 상태인 Disabled는 기본 상태이며, 말그대로 Disabled


실제로 Breakpoint 기능을 사용해보기에 Fiddelr에서 제공하는 Sandbox 웹 사이트(http://webdbg.com/sandbox/shop/)에서 테스트해본다.

웹 사이트에서 Before Requests 상태로 만든 뒤 [Check out] 버튼을 눌러보자.


버프슈트와 같이 리퀘스트를 일시적으로 잡은 뒤, 해당 리퀘스트의 여러가지 정보를 조회/수정 할 수 있다. 오른쪽 탭의Inspectors의 기능은 따로 설명하지 않겠다. 써보면 금방 알 것이기 때문에 ㅋ_ㅋ


피들러를 처음 사용하는 사용자가 가장 많이 헷갈려하는게 Breakpoint를 잡았을때 하나의 요청이 아니라 동시에 보내는 요청은 모든 요청이 한번에 Breakpoint되는 것인데, 이때 상단의 [Go] 버튼을 이용해서 잡았던 브포(아 귀찮아 이제 브포로..)를 한번에 보낼 수 있다. 혹은 리퀘/리스폰스를 다중 선택하고 delete하면 drop시킬 수 도 있다.



2.2. 버프슈트의 Repeater == 피들러의 Composer

버프슈트의 Repeater는 비슷한 요청을 자주 반복할때 사용된다. 특정 요청을 매번 브라우저에서 클릭클릭하며 브포걸어서 보는 것보단 한번 보냈던 요청을 다시 재전송하면 편하기 때문이다.

아까 잡았던 리퀘스트를 마우스 드래그를 통해서 Composer로 보낸다. 이후 내용을 수정도 가능하다. 오른쪽 상단의 Execute를 누르면 반복적인 요청을 보낸다.


Composer의 Options탭에서 다른 설정도 가능하며, Tear off 기능을 이용해서 새창을 띄워놓고 조금 더 편하게 사용이 가능하다.


2.3. 버프슈트의 Match and Replace == 피들러의 AutoResponder

가끔 반복적으로 Response의 내용을 바꿀필요가 생긴다. JS 우회 라던가.. 라던가.. 라던가.. 몰라 여튼 가끔 생김;;

버프슈트에서는 Match and Replace을 사용해서 직접 내용을 바꾸지 않아도 자동으로 바꿀 수 있다. 피들러도 역시 이 기능을 제공하고있다.


아까 요청했던 checkout.asp의 response 내용을 변경하고 요청하는 checkout.asp의 내용을 바꿔보겠다.

왼쪽 리스트에서 수정할 checkout.asp을 오른쪽 클릭한뒤 Unlock For Editing을 누르거나 F2 단축키를 누른다.


Response의 HTML 내용을 수정한다.


Composer때와 같이 AutoResponder로 수정된 패킷을 끌어다 놓고 rules를 키고 다시 한번 checkout.asp에 접속해본다.

 


정상적으로 리스폰스가 변경되었다. AutoResponder에 대해 간단히 설명한 예시이고 rule 만드는 방법은 링크에서 좀 더 알아가면 된다. 


2.4. 버프슈트의 Decoder == 피들러의 TextWizard

웹의 특성상 인코드/디코드를 할일이 조금 있다. 버프슈트의 Decoder는 말그대로 인코드된 문자열을 디코드하거나 인코드 하는 기능을 제공한다. 이 기능에 대응하는 기능은 피들러의 TextWizard이다.


[Tool - TextWizard] 혹은 [Ctrl -E]를 통해 실행 시킬 수 있다.


사용법은 설명 안해줘도... ㅋㅋㅋ;



별도로 Inspectors 탭에서도 특정 문자열을 TextWizard로 보낼 수 도 있다.


3. 그 밖의 "내가" 사용하는 기능들

마지막으로 내가 자주 사용하는 기능을 소개하고 마친다.


  1. Filter 기능
  2. Mark 기능
  3. Save 기능


3.1. Filter 기능

우리는 분석을 하면서 페이스북을 하거나 유튜브를 본다. 혹은 특정 서비스를 분석할 때 특정 도메인을 거를 필요가 있다.(예를들어 페이스북의 업데이트를 위한 polling 리퀘스트 들..)

그럴때 사용하는것이 필터!

사용법은 따로 설명하지 않겠다..... 그냥 저렇게 쓰면 된당. ㅎ


3.2. Mark 기능

많은 리퀘스트들 중 의미있는 리퀘스트에 Mark 하는 기능이다. 


리퀘스트를 클릭한 뒤 단축키 [Ctrl + 1~6 or -] 혹은 오른쪽 클릭 [ Mark - 선택 ]을 통해 특정 리퀘스트에 마킹을 할 수 있다. 많은 내용을 분석 할 때 유용하게 사용 할 수 있따.


3.3. Save 기능

말그대로 저장 기능. 현재 상태를 그대로 저장한다. 물론 마크나 코맨트를 달아놨던 내용이 그대로 저장된다. 분석한 내용을 타인에게 주거나 까먹지 않게 저장해둘 수 있다.

[File - Save] 버튼을 통해 저장할 수 있다.



4. 마치며

너무 대충 적었나..... 반성하며 고치진 않을 예정ㅋ.... 뭔가 버프슈트는 굉장히 많이 쓰는데 피들러는 안쓰길래 내가 좋아하는 피들선배가!! 흙흙.. 하는 마음에 오랜만에 포스팅했다. 빨리 맥용 피들러가 제대로 릴리즈 됐으면 좋겠다는 소망과 함께 이만 빠이빠이.


+ 추가 )HTTPS 내용을 실수로 빠트렸다.. Tools -> Fiddler Options -> HTTPS -> Capture HTTPS CONNECTs 옵션만 켜주면 알아서 인증서 설치하고 알아서 MITM하여 HTTPS 패킷도 볼 수 있게 된다.


'' 카테고리의 다른 글

버프슈트를 떠나는 4가지 이유.  (0) 2015.10.19
버프슈트 확장 프로그램 JS Beautifier  (0) 2015.10.11
페이스북 태그 분석  (0) 2015.09.30
Comments