이번에는 웹 애플리케이션 테스트로 자주 사용하는 웹 프록시 툴인 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에 의해 치환 혹은 삭제 되지만, 위와 같은 프록시 툴을 이용하면 다시 공격코드로 바꿔서 전송이 가능하게 되죠 ㅎㅎ
지금까지 버프 슈트 사용법이었습니다. 감사합니다.
'기타' 카테고리의 다른 글
셋톱박스 연결 공유기 교체 (0) | 2016.09.12 |
---|---|
이클립스 구동 시 Initializing java tooling 발생 (1) | 2016.07.19 |
애드센스 본문 오른쪽 상단, 하단, 사이드바 배치하기 (1) | 2016.07.12 |
아스키코드표 (0) | 2016.07.02 |
윈도우에서 jar 파일 실행하기 (0) | 2016.07.01 |