Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

웹개발

이제 웹 기반 응용개발 지식은 거의 필수적으로 요구되는 시대입니다. 구체적인 웹 사이트 개발은 아니더라도 거시적인 웹 기반 서비스에 대한 지식 배양을 위해 할 것이 참 많네요 ^^

[웹 보안 시리즈] 3-1. 웹 Proxy Tool 소개 - Paros

작성자 : 박종명
최초 작성일 : 2008-06-24 (화요일)
최종 수정일 : 2008-06-24 (화요일)
조회 수 : 7430

웹 해킹 기법 중 데이터 위/변조가 있습니다.

 

인증 세션 값을 변경하여 다른 사용자로 위장하여 불법 로그인을 시도 하며 Hidden 필드의 값을 바꿔 비 정상 거래를 하는 등 여러 가지 위/변조 기법이 있습니다. 데이터 변조에 대해서는 다음에 다시 자세히 다루기로 합니다.


이번 세션에서는 이런 데이터 변조에 사용되는 프록시 툴을 소개 할까 합니다.

프록시란 말 그대로 어떠한 일을 위임 받아 대신 처리하는 놈을 일컫습니다.

 

웹 요청/응답 아키텍처 관점에서 보면 클라이언트와 웹 서버와의 통신의 중간에 위치하여 요청 및 응답 과정에 개입하는 툴이라 할 수 있습니다.

위 그림 처럼 웹 요청과 응답과정은 항상 프록시를 거치게 됩니다.

 

이 프록시 툴을 이용하여 중간에 요청 데이터를 볼 수 있고 또한 수정하여 요청할 수도 있습니다.
바로 이런 방식으로 데이터를 변조하게 되는 것입니다
.

 

그럼 프록시 툴 중 대표적인 두 가지를 소개 합니다.

 

[1] Paros

1. 개요

현재 가장 많이 쓰이는 프록시 툴이라 할 수 있습니다.

인터페이스가 상당히 직관적이며 조작 역시 편리 합니다.

아래의 주소에서 다운 받을 수 있습니다.

http://www.parosproxy.org/download.shtml

 

 

2. 설치

파로스 툴은 JVM 환경에서 돌아 갑니다.

즉 운영체제에 맞는 JDK 를 설치 하셔야 합니다.

그리고 Paros 를 설치 하면 됩니다.

 

3. 환경 설정

a. 프록시 포트 확인 하기

Paros 를 웹 프록시를 사용 하려면 우선 Paros 의 포트를 확인 해야 합니다

아래와 같이 Tool > Option 메뉴로 이동하시면 옵션 창이 나옵니다. Local proxy 부분에 8080 포트가 웹 프록시로 사용할 포트가 됩니다.

그리고 SSL 통신은 8443 포트를 사용합니다.
이 포트를 사용해도 되고 변경하여도 됩니다.

 


b.
웹 브라우저 프록시 설정하기

위에서 Paros의 통신 포트를 확인 하였습니다.
이번에는 내 컴퓨터가 인터넷을 이용할 때 프록시로 Paros 를 사용하겠다고 명시 해야 합니다.

아래와 같이 IE 에서 도구 > 인터넷 옵션 > 연결 > LAN 설정으로 들어가서

프록시 주소와 포트를 지정 해 줍니다.

 

Paros 가 로컬에 있고 8080 포트를 사용하기 때문에 위와 같이 설정 합니다.

 

드디어 프록시 설정이 완료 되었습니다. 이제부터 웹 사이트 서핑시 Paros 를 로컬 프록시로 사용할 수 있게 되었습니다.

 

 

3. Paros 사용하기

기본적으로 Paros 는 웹 요청과 응답 사이에 클라이언트와 서버가 주고 받은 패킷들에 대한 Viewing 을 제공합니다.
아래 화면은 mkex.pe.kr 사이트에 접속할 때 주고 받은 요청/응답 메시지 입니다.

 

요청 데이터는 Request , 응답 데이터는 Response. 탭에 나타납니다

4. 요청 중간에 개입 하기

이제 본격적으로 Paros 를 사용해서 웹 서버와 통신 중가에 끼어 들어 데이터를 보고 변조 하는 방법에 대해 알아 봅니다.

 

위 그림을 보시면 Trap 이 바로 이 역할을 할 수 있게 합니다.

 

중간에 Trap request, Trap response 를 체크 하면 요청/응답에 대한 패킷을 정지하여 데이터를 보고 변경할 수 있게 합니다. 요청 흐름은 Continue 버턴을 통해서 하나하나 이루어 집니다.

 

이 두 체크를 해제 하면 요청과 응답은 한번에 이루어 지지만 이것이 체크되어 있으면 요청과 응답은 항상 Continue 를 클릭할 때 마다 순차적으로 이루어 집니다.

 

데이터 변조는 이런 식으로 이루어 집니다. 위 그림에서 여러 HTTP 헤더가 보이는데 이 중 일부 값을 변경하여 요청을 하는 방식 입니다.

 

자세한 변조 방법은 다음에 다루기로 합니다.

이름
비밀번호
홈페이지
RS <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요