본문 바로가기

기타

Burp Suite 사용법

이번에는 웹 애플리케이션 테스트로 자주 사용하는 웹 프록시 툴인 BurpSuite에 대해 알아보겠습니다.

프록시란 대리,대리인이라는 사전적 의미를 가지고 있듯이, 프록시 서버를 이용하면 최종 목적지에 프록시 서버를 통해 간접적으로 접근이 가능합니다.

아래 그림과 같은 형태가 되는거죠.

클라이언트가 하나의 웹 사이트에 접속하기 전에 프록시 서버라는 곳을 거쳐가게 됩니다.

그리고 이 프록시 서버에서는 클라이언트와 웹 서버간의 요청/응답 패킷을 살펴볼 수 있게 됩니다.

중간에 변조해서 전달해주는것도 가능하고요 ㅎㅎ 그래서 웹 취약점 점검 시 자주 사용됩니다.


뭐 개요는 이정도 하고.. 이런 프록시 툴로 유용하게 사용되는 버프슈트(Burp Suite)를 깔아보고 한번 사용해보겠습니다.

이름 좀 간지나는거 같음..


일단 다운로드부터 하도록 할게요.

버트슈트 다운로드 ▶ http://portswigger.net/burp/download.html

Free Edition을 다운받았습니다. 어 근데 확장자명이 .jar 파일이네요. 

jar 파일을 실행시키려면 java가 깔려있어야 하죠.. oracle 사이트가서 깔아줍니다.

jdk 다운로드 ▶ http://www.oracle.com/technetwork/java/javase/downloads/index.html


이제 cmd 창에서 jar 파일을 실행해주시면 됩니다. Burp Suite가 있는 위치로 이동하여 아래의 명령을 실행해줍니다.

(저의 경우 C 드라이브에 다운로드 받았습니다)

C:\ > java -jar -Xmx1024m burpsuite_free_v1.7.03.jar

-jar는 jar파일을 실행시키는 옵션이죠 ㅎㅎ 추가로 메모리 설정하고 실행한겁니다.

이후 라이센스 동의 페이지, 프로젝트 설정 등등.. 뭐 나오는데 그냥 next next 해주시면 됩니다.


실행화면입니다.

저희는 프록시를 사용하므로 Proxy 탭을 클릭합니다.

그리고 하위 Options 탭에서 프록시 설정을 할 수가 있습니다.

Proxy License는 프록시 서버로 사용될 곳의 ip와 포트를 정해주는 부분입니다. localhost의 8080포트를 사용하였습니다.


프록시 서버를 설정했으니 이제 브라우저가 프록시 서버를 타게 해야합니다.

IE : 도구 - 인터넷 옵션 - 연결

크롬 : 설정 - 네트워크 - 프록시 설정 변경

을 클릭하여 주면 아래와 같은 화면이 나옵니다.

LAN 설정을 클릭합니다.

프록시 서버 설정을 합니다. 체크박스 체크하고, 아까 설정한 프록시 서버의 주소를 써줍니다.

이후부터 브라우저가 웹 서버에 접근하기 전, 작성한 프록시 서버를 항상 타고 가게 됩니다  

항상 Burp Suite를 거쳐가게 되는거죠 ㅎㅎ


이제 Burp Suite에 마지막 설정을 해줍니다.

Request / Response 요청에 대한 인터셉트 여부입니다. 둘 다 체크해줬습니다.

이제 설정이 완료되었습니다!


인터셉트 해보겠습니다 ㅎㅎ Options에서 Intercept 탭으로 이동합니다.

아래에 4개의 버튼 ( Forward, Drop, Intercept is on/off, Action ) 이 보이는데, Intercept is on/off 버튼이 인터셉트 실행 버튼입니다.

Intercept is on 에 있으면 인터셉트 중인거고, intercept if off에 있으면 인터셉트가 꺼져 있는 것입니다.

Intercept is on 상태로 두고, 제 블로그에 들어와보겠습니다.

버프슈트 아이콘이 깜빡거리고, 웹사이트는 뻉뻉 돌기만 하고 진행이 안될겁니다.

프록시 서버에서 요청을 인터셉트 한 것이죠 ㅎㅎ 버프 슈트에 가보시면 위와 같이 전송 내용을 보실 수 있습니다.

Forward를 누르면 한단계씩 진행됩니다. request나 response값을 수정하고 forward 하시면 수정된 내역이 전달됩니다.

이런 특징 때문에 웹 취약점 점검에 사용된다는 것입니다.

예를 들면 XSS의 경우 서버에 전달될 떄 공격 코드가 javascript에 의해 치환 혹은 삭제 되지만, 위와 같은 프록시 툴을 이용하면 다시 공격코드로 바꿔서 전송이 가능하게 되죠 ㅎㅎ

지금까지 버프 슈트 사용법이었습니다. 감사합니다.