최근 ZAP 사용에 대한 고민을 하고있다고 글을 통해 이야기드렸었습니다.
그래서 요즘 듀얼로 사용하면서 Burp와 ZAProxy의 차이점과 툴이 추구하는 방향? 등에 대해 뜻밖의 공부가 되고있는데요, 나름 긴 시간의 Burp suite 생활을 뒤로하고 ZAProxy를 사용해보면서 생겼던 고민과 해결에 대한 이야기로 당분간 글 작성할까 합니다.
밀린 글 몰아서 작성하는 감이 없잖아 있는데요, 우선 오늘은 취약점 분석 시 Burp와 ZAProxy를 동시에 사용하는 방법에 대해 이야기할까 합니다.
Why?
우선 두 툴의 성격 모두 분석을 위한 프록시 도구라는데 있어서 같은 포지션을 가집니다. 덕분에 동시에 돌리기엔 좀 애매하죠. 곰곰히 생각하다보니 한쪽 프록시에서 다른툴쪽 프록시로 데이터를 넘겨주면 양쪽다 로깅되면서 같이 볼 수 있지 않나 생각이 들었고 바로 실행에 옮겼습니다.
최종 그림만 보자면 이런 느낌이 되었죠. (모니터가 커야합니다..하핳)
Env
글의 이해를 돕기 위해 Proxy 환경 정보를 같이 올려둡니다.
Burp suite
=> 8080
ZAProxy
=> 8081
Burp의 데이터를 ZAProxy로 넘겨주자.
아주 다행히 두 툴 모두 Proxy를 통해 수집된 데이터를 다른 프록시 서버로 넘겨주는 기능을 지원합니다. 전 Burp => ZAProxy로 넘어가는 구조를 택했고, 이를 위해서 Burp suite에서 약간의 세팅이 필요했습니다. Upstream Proxy servers를 이용하면 간단하게 적용이 가능합니다.
User options > Connections > Upstream Proxy Servers
위 경로로 접근 후 설정해줍니다. 내용은 대충… localhost의 8081(ZAProxy)로 넘겨주겠다는 이야기지요.
- Destination host : *
- Proxy host : localhost(127.0.0.1)
- Proxy port : 8081(ZAProxy)
이렇게 되면 웹브라우저의 Proxy 설정으로 인해 Burp suite로 넘어가서 로깅하게 되고, 이 데이터가 다시 ZAProxy를 거쳐서 로깅 후 대상 서버로 넘어가게 됩니다.