본문 바로가기

Security/Tool사용법

[Web Proxy] Paros

Paros란?                                         
일종의 웹프록시 프로그램으로 웹 사이트에 대한 취약성을 분석할 수 있을 뿐만 아니라 웹 해킹도구로도 사용 될 수 있다.  www.parosproxy.org ( 공식 홈페이지 )


                                                                     < paros의 작동 원리 >

 위와 같이 웹 서버와 클라이언트 사이에서 위치하여 HTTP와 HTTPS 데이터 뿐만 아니라 cookies와 form 필드 등을 중간에서 가로채어 모니터링 하거나 값을 변경하여 서버로 보낼 수 있다.

 < paros의 특징 >
- GUI를 제공한다.
- Tree 형태로 사이트 구조를 제공하여 홈페이지의 구조를 쉽게 분석할 수 있다.
- Scanner 기능을 제공하여 웹 치약성 스캔도 가능하다.
- HTTPS도 사용 가능하도록 인증서 기능을 제공한다.
- 텍스트에 대한 다양한 HASH나 encoding/decoding 기능을 제공한다.

 < paros 실행 >
* JRE(Java RunTime Enviroment) 가 설치되어 있고 paros 프로그램을 가지고 있어야 한다.
설치를 마친 후 바탕화면의 paros 실행파일을 실행한다. paros는 실행과 동시에 127.0.0.1의 8080포트를 리슨하므로 웹 브라우저의 옵션을 다음과 같이 수정하여야 한다.

브라우저 -> 도구 -> 인터넷옵션 -> 연결 -> LAN설정 -> "프록시 서버"


 * 위와 같이 설정 후에는 모든 접속이 127.0.0.1의 8080포트를 통과하므로 만약 paros를 실행하지 않으면 웹사이트 접속이 되지 않는다. 


                                                                 < paros 사용 모습 >

paros를 사용하면 위와 같이 사이트에 접속하는 도메인별로 순서대로 기록되어 있다. 그리고 하단에는 GET과 POST 메소드를 통해 어떤 사이트를 접속하는지에 대한 상세 정보가 있다. 그리고 해당 GET이나 POST 접속을 클릭하여 보면 HTTP HEADER 및 데이터가 상세하게 보인다.
Response  - Request에 대한 응답 헤더와 메시지를 확인 할 수 있다. 그리고 각 요청별로 서버의 응답 상태
                   (200 OK 여부) 및 소요 시간에 대한 정보도 확인 할 수 있다.
Request - 사용자가 각 도메인에 요청한 메시지를 확인 할 수 있다.
trap - Request와 Response에 대한 정보를 한 단계씩 확인 하며 진행 할 수 있다.

 < Scan >
해당 Request 부분에서 우측 마우스를 클릭하면 아래와 같이 여러 기능을 이용할 수 있다.


                                                   < Scan 수행 화면 >
보안 테스트 결과는 Report -> Last Scan Report를 선택하면 간략하게 HTML 형태로 출력하여 확인 할 수 있다.

 < Manual Request Editor >
Cookie injection 공격이나 특수 문자 등의 입력을 차단하는 자바 스크립트등을 우회할 때 사용

Tools -> Manual request Editor

id/pw 부분에 admin /' or 1=1-- 를 입력하여 sql injection을 통해 인증을 우회하려 하는데, 자바스크립트에서 특수 문자 입력을 거부한다면 해당 Request 부분을 복사해서 아래 그림과 같이 설정 후 Send를 한다면 서버에 직접 전송하게 되므로 자바 스크립트 같은 클라이언트 측에서의 입력 값 점검을 우회 할 수 있다.

 또한 인증방식으로 Session이 아닌 Cookies를 사용한다면 이 역시 이 프로그램을 통해 쉽게 우회가 가능하다. Request 부분을 복사하여 Cookie의 ID부분만 이를 테면 admin으로 수정하면 Send를 실행하면 해당 ID 권한으로 실행을 하게 될 것이다.