Burp Suite란?
- Web Proxy Tool (웹 중간자 툴): 웹 서버로 오고가는 요청(패킷)을 대신 전달해 주는 친구
- Proxy -> Proxy Setting -> Proxy Listeners 설정 후 대상 기기에 Proxy를 열어주면 이용 가능
- Proxy: 웹 브라우저와 Burp Suite사이에서 웹 프록시 서버로 운영되며 그 중간에서 주고받는 데이터(패킷)을 가로채거나 확인, 수정 등을 할 수 있음.
- Proxy Listeners를 통하여 Proxy를 설정할 수 있음
- 8080 기본으로 설정되어있음
- ADD를 눌러 추가 가능
- Bind to port: 포트 지정할 수 있음
- Bind to address
- Loopback only : 내(local) 컴퓨터 웹 서버만 사용
- All interfaces : 내 컴퓨터에서 burp suite을 실행하고 다른 컴퓨터에서 웹서버를 하여 내 컴퓨터의 burp suite을 사용 및 다른 컴퓨터의 정보를 볼 수 있음 -> 모바일 앱 해킹 시 사용
- Intercept : 웹 요청을 대신 전달하기 전에 중간에 막고 있는 곳
- Intercept -> Intercept is on 으로 변경 -> 데이터 변경 -> Forward
- History: 버프스윗을 통과한 주고받은 웹 요청들이 쌓이는 곳
- HTTP history 에서 확인 가능
- Repeater: 어떤 데이터를 반복해서 보내는 것
- HTTP history -> 요청 선택 -> 하단 Request에 오른쪽 클릭 -> Send to Repeater -> Repeater -> 데이터 수정 -> Send -> Render 확인
- Decoder: 디코딩/인코딩 된 데이터 확인 가능
- Compater : 글자 비교
- Ctrl + c -> Paste, Ctrl + c -> Paste -> 하단에 Compate… Words/Bytes 선택 -> Sync views
HTTP Protocol
요청 시
- 첫번 째 줄에는 메서드와 경로, HTTP 프로토콜 버전 정보가 적혀있음
- 각 부분은 띄워서 구분함.
- 두번 째 줄에는 헤더로 서버가 필요한 정보를 전달해줌.
응답 시
- 첫번 째 줄에는 HTTP 프로토콜 버전 정보와 HTTP 상태 코드가 적혀있음
- 각 부분은 띄워서 구분함.
- 두번 째 줄에는 헤더로 클라이언트가 필요한 정보를 전달해줌.
- 마지막 줄은 응답의 Body로 웹 브라우저가 요청한 데이터임.
HTTP 상태 코드
- 200 : OK
- 300 : Redirect.
- Location이 되었을 때 나타남
- 400 : Client Error
- 이용자가 잘못한거임 -> 없는 자료 요청 시 나타남
- 500 : Server Error
Burp Suite를 활용한 문제
1번 문제
- Intercept를 활용하여 header User-Agent에 "segfaultDevice" 값으로 변경하여 요청을 보내는 문제이다.
1. 사이트에 들어가기 전에 Burp Suite에서 Proxy -> Intercept -> Intercept on 으로 변경해준다.
2. 사이트에 들어가면 Intercept탭에서 데이터를 변경할 수 있는다.
이때 header User-Agent 값을 segfaultDevice로 변경해준 후 Forward를 누른다.
3. 해당 화면이 뜨면 성공한 것이다.
이제 Burp Suite history에서 flag를 확인하여 작성하면 1번 문제를 풀 수 있다.
2번 문제
- Comparer를 활용하여 a.html, b.html길이를 비교하여 다른 값을 찾는 문제이다.
1. a.html, b.html 두 데이터를 확인하는 방법은 여러가지 아지만 Repeater를 활용해볼 것이다.
2. Repeater 를 활용하여 a.html과 b.html을 전송하면 각각 데이터가 이렇게 출력이 된다.
3. 각 데이터를 복사하고 Compater에 Paste를 한 후 Words로 비교하면 다른 데이터를 찾을 수 있다.
다른 데이터를 flag에 작성하면 2번 문제를 풀 수 있다.
3번 문제
- Repeater을 활용하여1 ~ 20까지의 숫자 중 맞는 값을 찾는 문제이다.
1. 사이트에 들어가면 위에의 데이터를 볼 수 있는데 이때 answer의 값을 1 ~ 20 중 찾으면 된다.
2. Send to Repeater을 선택하여 Repeater에 보낸다.
3. answer 데이터를 변경하면서 Send하면 답을 찾을 수 있다.
찾은 답을 flag에 작성하면 3번 문제를 풀 수 있다.
4번 문제
- Decoder에서 다양한 Decode와 Encode를 활용하여 값을 찾는 문제이다.
1. 사이트에 들어가면 "You are Not Admin"이라 나오고 level이 dXNlcg%3D%3D인 것을 알 수 있다.
2. 해당 값을 Decode 하면 'user'라는 값이 나온다는 걸 알 수 있다.
3. 'admin'을 해당 로직과 반대로 Encode하면 위에 값이 출력되는데
해당 값을 level에 수정하여 전송하면 답을 알 수 있다. 해당 답을 flag에 작성하면 4번 문제를 풀 수 있다.
후기
- Burp suite에 대한 이해와 사용법을 익히고 HTTP 상태코드와 HTTP Protocal에 대해 간단히 배웠다.
- HTTP 상태코드와 HTTP Protocal에 대해 간단히 작성하였지만, 더 공부하여 추가로 정리해 봐야겠다.
- Burp Suite 문제는 Burp Suite 툴에 대한 기본적인 내용의 문제들이어서 쉽게 풀 수 있었다.
'모의해킹 > 모의해킹 스터디' 카테고리의 다른 글
모의해킹 스터디 4주차 과제(2) - 쿠키 탈취 / 키로거 (0) | 2024.11.14 |
---|---|
모의해킹 스터디 4주차 과제(1) - 게시판 만들기 (0) | 2024.11.12 |
모의해킹 스터디 3주차 과제(2) - 리눅스 환경에서 PHP로 JWT 구현 (0) | 2024.11.06 |
모의해킹 스터디 3주차 과제(1) - 로그인 케이스 구현 (0) | 2024.11.01 |
모의해킹 스터디 3주차 정리 (0) | 2024.10.31 |