본문 바로가기

웹 개발

웹 개발 공부 일기장 4 - 1 (Web Proxy)

이번주에는 드디어 웹 해킹에 필수적인 도구!! Burp suite를 배웠습니다.

 

배운걸 정리하면서 다시 한번 보겠습니다.

 

Burp Suite

버프 스위트는 Web Proxy Tool 입니다. 프록시란 영어를 직역하면 대리라는 뜻을 가집니다.

즉!! 웹의 요청을 대신해주는 툴입니다.

a와 b가 서로 통신을 한다면 그 사이에서 중간자 역할을 하며 대신해서 보내주는 것으로 a는 proxy서버로 요청을 보내고 proxy서버에서 b로 요청을 보냅니다. 

Web Proxy

 

사진을 보면 중앙에서 요청이 바로 서버로 가는 것이 아니라 proxy서버를 거쳐 가는 것을 볼 수 있습니다.

실제로 요청이 proxy서버를 거쳐가는지 확인해보겠습니다.

요청을 보내기 전
요청을 보낸 후

 

요청을 보내게 되면 필요한 모든 요청이 proxy서버를 거쳐간 것을 확인할 수 있습니다. 실제로 요청을 클릭 시 하나하나 자세히 볼 수도 있습니다.

 

도대체 요청을 볼 수 있는 proxy를 왜 사용할까요?? 요청의 데이터를 볼 수 있으니 위험해보이는데...

보안에서 보면 만약, 악성코드가 포함되어 요청이 온다면 중간에 프록시 서버를 거쳐 오기 때문에 해당 콘텐츠를 검사할 수 있습니다.

그리고 모의해킹에서 데이터를 주고 받는 것을 직접 볼 수 있기 때문에 많이 사용합니다.

 

모든 요청을 프록시 서버를 거쳐 간다고 했습니다. 프록시 서버를 거쳐가게 하기 위해서는 프록시 서버에서 요청을 받을 준비가 되어야겠죠?? 그것을 proxy listner라고 합니다.

proxy탭의 proxy settings

 

버프 스위트의 프록시 탭 프록시 세팅을 보면 위의 사진과 같이 프록시 리스너를 세팅할 수 있는 것을 확인할 수 있습니다. 현재 기본 세팅으로 되어있는 127.0.0.1:8080을 보면 로컬호스트(우리 컴퓨터)의 8080포트로 요청을 보내는 것은 프록시 서버를 거쳐간다고 보시면 됩니다.

 

하지만 당연히 요청을 전부 볼 수 있기 때문에 클라이언트에서 승인? 프록시 서버를 설정해주어야지만 프록시를 사용할 수 있습니다.

 

설정하는 방법은 간단합니다.

크롬을 예로 들어보면 오른쪽 위에 있는 점 세개를 클릭 -> 설정 -> 프록시 검색 -> 프록시 설정 -> 웹 프록시를 서버에 프록시 리스너 IP주소(127.0.0.1), 프록시 리스너 port 번호를 적어주면 설정은 끝입니다.

이렇게 하면 크롬 웹 브라우저로 요청한 것은 프록시 서버를 거쳐 가게 됩니다.

 

만약, 리스너를 추가해야할 때 설정을 보겠습니다.

listener add

listener에서 add를 누르면 위의 사진처럼 뜨며 추가할 수 있는데 포트는 우리가 원하는 포트 아무거나 사용하면 됩니다.

밑의 address가 무엇인지 보면

1. loopback only: 프록시 사용이 지금 우리 컴퓨터의 웹 브라우저에서 우리 컴퓨터의 프록시 서버로 설정할 때 사용하면 됩니다.

즉, 제가 실습하는 것처럼 저의 컴퓨터에서 요청을 보내고 프록시 서버(버프 스위트)도 저의 컴퓨터일 때 사용하는 설정입니다.

 

2.  all interfaces: 프록시 사용이 다른 컴퓨터에서 저의 컴퓨터 프록시 서버로 설정할 때 사용하면 됩니다.

즉, 웹 요청을 보내는 컴퓨터가 제 것이 아닌 다른 컴퓨터에서 요청을 보낼 때 지금 제 컴퓨터 프록시 서버를 거쳐가고 싶을 때 사용하는 설정입니다.

- 이것은 모의해킹에서 주로 모바일 앱 해킹할 때! 사용한다고 합니다. 모바일!!! 지금 프록시 서버의 컴퓨터가 아닌 다른 컴퓨터이죠

 

3. specific address: 설정한 주소만 프록시 서버를 거쳐가게 만들때 사용하면 됩니다.

 

이제 이렇게 프록시 서버 설정과 클라이언트 설정을 마쳐주면 프록시 사용 준비는 마쳤습니다.

추가로 프록시 서버 설정을 보면

추가 프록시 서버 설정

request rulesresponse rules 를 볼 수 있는데 이는 요청과 응답에서 특정 요청과 응답을 받기위한 규칙을 설정할 수 있습니다.

밑에 match and replace rules 도 있는데 이들은 나중에 더 자세히 알아보겠습니다.

 

다음 블로그에서 실제 버프스위트에서 사용할 수 있는 기능을 보겠습니다.