
Burp Suite는 자체적으로 Chrome 기반의 브라우저를 내장하고 있어 설정이 비교적 간편하다. 다만, 무료 버전과 유료 버전 간의 기능 차이가 꽤 크다는 단점이 있다. 반면, 무료 도구 중에서는 OWASP ZAP이 가장 강력한 선택지일 수 있다.
ZAP을 사용하는 방법은 간단하다. 먼저 프록시 기능을 활성화한 후, Windows 네트워크 설정에서 해당 프록시를 사용하도록 지정하면 된다. HTTPS 트래픽을 문제없이 처리하려면 ZAP에서 제공하는 인증서를 별도로 설치해야 한다. 이 설정만 마치면, ZAP을 통해 웹 트래픽을 손쉽게 분석할 수 있다.
ZAP을 설치한 후, 프록시 설정은 다음 경로에서 진행할 수 있다: Tools > Options > Network > Local Servers/Proxies. 이 메뉴에서 프록시로 사용할 IP 주소와 포트 번호를 지정할 수 있다. 기본적으로는 localhost:8080으로 설정되어 있지만, 필요에 따라 포트 번호를 변경하거나 여러 개의 프록시 서버를 추가로 등록할 수도 있다. 이 설정을 통해 ZAP이 중간자(MITM) 프록시로 동작하며, 브라우저와 서버 간의 트래픽을 효과적으로 분석할 수 있다.
ZAP에서 HTTPS 트래픽을 정상적으로 분석하려면, ZAP이 생성하는 SSL 인증서를 브라우저에 신뢰할 수 있는 루트 인증서로 등록해야 한다. 이를 위해 Tools > Options > Network > Server Certificates로 이동한 후, 인증서를 로컬에 저장한다.
이 인증서는 ZAP이 자체적으로 발급한 루트 인증서로, 공개키 기반(PKI)의 X.509 인증서 형식을 따른다. 저장한 인증서를 Chrome 브라우저(또는 사용하는 브라우저)의 신뢰할 수 있는 루트 인증 기관(CA) 목록에 추가하면, HTTPS 트래픽도 오류 없이 ZAP을 통해 중간에서 확인할 수 있게 된다.

ZAP을 통해 웹 트래픽을 보기 위해서는, 운영체제(Windows) 또는 브라우저가 ZAP을 프록시 서버로 사용하도록 설정해야 한다. 기본적으로 ZAP은 localhost의 8080 포트를 프록시로 사용하므로, 해당 정보를 시스템이나 브라우저에 등록해줘야 트래픽이 ZAP을 통과하게 된다. (Chrome 자체에는 프록시 설정 기능이 내장되지 않고, 운영체제의 프록시 설정을 따른다.)
설정 > 네트워크 및 인터넷 > 프록시 메뉴
ZAP을 통해 HTTPS 트래픽을 정상적으로 분석하려면, ZAP이 발급한 루트 인증서를 Chrome 브라우저에서 신뢰할 수 있도록 등록해야 한다. 그렇지 않으면 HTTPS 사이트 접속 시 "이 연결은 비공개로 설정되어 있지 않습니다"와 같은 경고 메시지가 나타나게 된다.
chrome://certificate-manager/를 Chrome 주소창에 입력하면, 인증서 관리 화면으로 바로 진입할 수 있다.


본 글은 최신 버전의 ZAP과 Chrome 기준으로 직접 테스트하며 정리하였다. ChatGPT의 설명은 최신 버전과 맞지 않아 수작업으로 확인하였다. 일부 세부사항은 버전에 따라 다를 수 있다.
Reference