웹 해킹을 위한 시도 중 하나로는 해킹 툴 사용이 있다. 패킷 조작 프로그램인 Burp Suite에 대해 구체적으로 다뤄보고자 한다.
Burp Suite란?
PortSwigger에서 개발한 프로그램으로, 웹 진단을 위한 Web Proxy Tool이다.
- 프록시(proxy): 웹 브라우저와 웹 서버 사이 전달을 대신하는 중간자 역할을 수행
해당 단어에 대해 버프 슈트라고 부는 사람도 있고, 버프 스위트라고 부르는 사람도 있는데, 정확히는 버프 스위트가 맞는 발음이라고 한다. 많이들 섞어 쓰는 것 같아 보이기도 하고, 큰 의미는 없을 것 같다.
버프 스위트는 쉽게 말해 웹 서버로 오고 가는 요청(패킷)을 대신 전달해주는 친구라고 이해할 수 있다.
이를 사용하면 웹 브라우저와 웹 서버 사이 오고 가는 패킷을 볼 수 있고, 중간에서 데이터를 수정해서 전송하는 것도 가능하다.
메인 화면은 다음과 같다.
제일 먼저 확인해야 하는 것은 Proxy listener 설정이다.
버프 스위트가 웹 서버와 주고 받는 데이터를 가운데에서 대신 전달해 주는 기능을 한다면, 그럼 그걸 무슨 수로 하게 되는가를 먼저 생각해야 한다. listener로 데이터를 보내면 중간에서 이를 처리하고 주고 받을 수 있다.
컴퓨터와 웹 서버 간 대화(데이터)를 전달하고 전달받기 위해서는 귀를 열고 있어야 한다. 원하는 설정으로 listener를 열고 싶다면 추가할 수 있다.
- Bind to port: 포트 번호 설정이다. 어디에 열어둘 것인지 정하기 위함이다. 원하는 대로 지정하면 된다. 예) 8888
- Bind to address
- Lookback only: 내 컴퓨터에서만 버프스위트를 사용할 때
- All interfaces: 다른 컴퓨터에서 내 컴퓨터로 연결할 때, 외부 컴퓨터도 버프 스위트를 사용할 수 있음
- Specific address: 특정 주소만 내 컴퓨터로 보낼 수 있도록 설정하고 싶을 때
위와 같이 설정을 끝내면, 해당 값을 수동 프록시 설정에 넣을 수 있다.
웹 브라우저에서 프록시 설정을 통해 해당 브라우저는 웹 서버와 직접 데이터를 주고 받는 것이 아닌, 지정된 프록시 서버로만 데이터를 전달하도록 지정한다.
HTTPS 프록시와 포트 번호만 입력하면 되고, 이후로 주고 받는 데이터는 버프 스위트를 거친다.
HTTP history를 보면 그 기록을 전부 확인할 수 있다.
개별 히스토리를 선택하면 Request와 Response를 각각 확인할 수 있다.
- HTTP Protocol: 웹 서버에서 데이터를 요청하고 이를 응답 받는 약속
- Request 첫 번째 줄 method / 경로 / HTTP Protocol
- Request 두 번째 줄부터 마지막 줄
헤더
- Response 첫 번째 줄
HTTP Protocol
HTTP Status Code
- cf. 상태 코드
- 200: OK
- 300: Redirect (Location 헤더 포함됨)
- 400: Client Error (이용자가 잘못한 경우) 예) 404 Error
- 500: Server Error
- cf. 상태 코드
- Response 첫 번째 줄부터 마지막 줄
응답 헤더
버프 스위트는 상단 탭에서 다양한 기능을 사용할 수 있다. 다음 포스트에서 이에 대해 상세히 다뤄보도록 하겠다.
'모의해킹 > 웹해킹스터디' 카테고리의 다른 글
CTF - Burp Suite Prac (0) | 2024.11.29 |
---|---|
JavaScript 기초 문법 다지기 및 키로거 만들기 (0) | 2024.11.29 |
쿠키(Cookie)와 세션(Session) (0) | 2024.11.27 |
[실습] 4개 로직 반영한 로그인 페이지 만들기 (0) | 2024.11.27 |
로그인 로직 이해하기 - 식별과 인증, 그리고 해시 (Hash) (1) | 2024.11.27 |