[설치 환경] Mac M1
용어 및 개념 정리
Burp Suite
: 프록시를 이용하여 패킷을 중간에 가로채서(intercept) 분석 및 수정을 할 수 있다.
: 해당 툴에서 사용하는 웹 프록시 서버 주소와 포트 설정을 해주면 브라우저에서 보낸 웹 요청이 프록시 서버를 경유하므로 중간에 패킷을 가로채는 게 가능한 것이다.
: 그 외에도 다양한 기능이 있는데 이를 이용하여 웹 어플리케이션 테스트, 취약점 점검, 공격을 수행할 수 있는 점검 툴이다.
프록시(Proxy)
: 서버와 클라이언트 사이에서 중개인으로 역할을 수행하며 클라이언트의 모든 HTTP 요청을 받아서 서버에 전달을 한다.
: 웹 프록시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 응용프로그램이다.
(프록시, 프록시 서버는 둘 다 같은 말인가보다. 다들 혼용해서 쓰는 듯하다.)
프록시가 필요한 이유는?
: 보안을 위해 사용된다. -> 요청과 응답을 필터링하기 위해서!
: 익명의 사용자가 직접적으로 서버에 접근 하는 것을 막기 위해서!
: IP 우회도 가능하다!
1. 설치 및 기본 설정
- Burp Suite 공식 웹 사이트에서 설치 환경에 맞는 버전을 선택해서 다운로드를 진행한다.
- 버전에는 3가지 종류가 있는데 필자는 무료인 Community Edition 을 설치했다.
- 다운로드 후 인증서를 발급 받아야한다.
인증서 발급 방법 :
Burp Suite를 실행한 상태에서 http://localhost:8080/cert에 접속하고 인증서를 다운로드 해야 함.
다운받은 인증서 더블클릭 - 키체인 추가는 임의대로(필자는 로그인에) - 항상 신뢰로 변경함.
- 기본 설정
웹 프록시 설정을 한다.
시스템 환경설정 -> 네트워크 -> 고급 -> 프록시 -> HTTP, HTTPS 프록시를 127.0.0.1:8080 로 설정함.
웹 프록시 설정은 항상 사용할 때만 값을 넣어서 사용해야하며, 사용하지 않을 때는 꺼야함.
버프 스위트의 설정은 위의 사진과 같이 되어 있어야 한다. -> 포트는 변경 가능함. 대신, 웹 프록시 설정도 변경한 포트 번호로 변경해야함.
필자는 8080 포트를 아팟치 서버로 사용하고 있기 때문에 포트를 변경하였다.
다시 Proxy - Options 에 들어가서 사진 속 부분을 체크 표시한다.
이 부분은 클라이언트의 요청과 서버의 응답을 규칙을 적용하여 Intercept 한다는 내용이다.
2. 기본적인 사용법
(Burp Suite 메뉴 구체적으로 살펴보기)
1. Target
- 접속한 메뉴와 URL 들의 리스트들을 트리 형태로 보여준다.
- 방문했던 화면들이 표시되고, 해당 URL 선택 시에 직접 보냈던 메시지들의 정보가 나타난다.
- URL 중에 선명하게 보이는 주소가 있고 흐릿하게 보이는 주소가 있다. -> 선명한 주소는 클라이언트가 직접 방문한 페이지, 회색 주소는 프록시 서버가 방문한 주소
( HTTP 프로토콜을 사용하여 데이터가 평문으로 전송되어 중요한 로그인 정보가 노출되어 있었다. )
2. Spider
- 웹 어플리케이션의 지도를 만들어주기 위해 사용되는 기능이다.
- 지정한 페이지의 복사본을 생성하고 상세 확인을 위해 Target 과 Scanner 로 전송한다.
3. Scanner
- 웹 사이트를 분석해 보안 취약점을 찾아준다.
- 유료 버전이기 때문에 무료 버전에서는 사용할 수 없다.
4. intruder
- 요청 메시지의 일부분을 지정한 뒤에 여러 개의 데이터를 반복해서 전송해주는 기능이다.
- 브루트 포스 공격을 이 기능을 이용해서 수행한다.
5. Repeater
- 패킷을 수정해보고 수동으로 바로 응답을 확인할 수 있다.
- 수정한 패킷을 서버에 전송할 수 있다.
(패킷 가로채기 하는 방법)
- Burf Suite 는 웹 프록시 서버를 설정하여서 하는 방법과 툴 자체의 open browser 를 이용하여 웹 프록시 서버 설정이 필요 없이 사용하는 방법이 있다. 필자는 전자의 방법을 사용할 것이다. -> 톰캣 서버는 후자의 방법을 사용할 수 없기 때문이다.
- 툴을 실행하고, 웹 프록시 서버를 설정해놓는다.
- Intercept is off 버튼을 눌러 on 상태로 만들고 필자의 블로그를 들어가보았다.
3. 이렇게 패킷을 획득했다.
4. 여기서 ctrl + R 을 누르면 repeater 로 넘어간다.
5. repeater 탭으로 이동하면 해당 패킷이 넘어와 있는 걸 확인할 수 있고 이 값을 변경하여 서버에 send 할 수 있고 보낸 패킷의 응답 패킷까지 확인할 수 있다.
6. 이런 방식으로 가능하다. 이건 간단하게 그냥 패킷을 잡아보고 전송하는 기능 실습이라 괜찮지만 이 툴을 사용하여 브루트 포스 공격 등을 포함한 여러 기능 수행이 가능한데 이걸 실제 사이트에서 하면 절대 안된다!
(내가 구현한 사이트에서 repeater 실습하기)
- 사이트에 들어가 로그인을 시도했다.
- 올바른 아이디와 비밀번호를 입력했다. 이렇게 로그인을 한다면 로그인이 성공해야한다.
- 패킷을 리피터로 보내서 비밀번호 부분을 수정했다.
- 그리고 send 버튼을 눌러 서버에 전송했고 응답 패킷을 받았다.
- 비밀번호가 틀렸다는 메시지가 뜬 응답 패킷을 받았는데 실제 사이트로 가보니 비밀번호가 틀렸다고 떴다.
[참고 사이트]
https://velog.io/@dolanap/Burp-Suite-%EB%B2%84%ED%94%84%EC%8A%88%ED%8A%B8
'TeamH4C' 카테고리의 다른 글
[빡공팟 5기] W4 : Web Hacking 로드맵 - STAGE 1 - 2 (0) | 2022.10.12 |
---|---|
[빡공팟 5기] W4 : Web Hacking 로드맵 - STAGE 1 - 1 (0) | 2022.10.12 |
[빡공팟 5기] W1 ~ W3 : 파이썬 기초 100제 중 5문제 블로깅 과제 (1) | 2022.10.10 |
[빡공팟 5기] W1 ~ W3 : 웹 사이트 구현 완성 (0) | 2022.10.09 |
[빡공팟 5기] W1 ~ W3 : 초기 화면 구성 및 DB 연결 (0) | 2022.10.04 |