버프 스위트(Burp Suite) 설치 및 프록시 설정
구글에 burp suite download 검색 후 공식 홈페이지 접속하여 설치
Pro 버전은 스캐너가 추가된 것이며, 무료 버전인 Community 버전을 사용한다.
https://portswigger.net/burp/communitydownload
위 홈페이지 접속 후 Go straight to downloads를 클릭하여 바로 다운로드 페이지로 이동한다.
Community Edition 선택 후 Download 버튼 클릭하여 다운로드 받는다.
다운로드 후 next 를 클릭하여 설치 완료한다.
웹 브라우저에서 프록시로 향하는 통신을 설정해줘야 한다.
프록시 설정 방법
1) 인터넷 옵션
2) 웹 브라우저 확장 프로그램 설치
통신 방향은 다음과 같다.
클라이언트(브라우저) ----요청(Request)-----> 웹 프록시 서버 --------------------------> 웹 서버
<----응답(Response)---- <------응답(Response)
FoxyProxy라는 확장 프로그램 사용 및 기타 버프스위트 설정 오류로 인해 인터셉트가 되지 않는 오류가 발생하였다.
내가 경험한 오류는 다음과 같다.
1) 버프 스위트의 Proxy 설정 내 And URL Is in target scope 설정 후 인터셉트 안됨
→ target scope에 설정된 URL 접속 시에만 인터셉트 가능한 옵션으로 판단됨
→ 127.0.0.1 을 And Domain name Matches로 설정 시 127.0.0.1에 대한 통신만 Intercept 하게 된다.
2) 다른 포트 8080,8887 적용 시 웹 사이트 접근이 아예 불가함
→ 다른 포트를 기존에 사용 중인것 같음 - 8888포트로 대체
3) 인터넷 옵션으로 8888 포트 설정 시 인터셉트가 가능하지만 FoxyProxy로 8888포트 설정 시 불가능
→ FoxyProxy 자체가 프록시 서버 역할이 불가하다고 판단됨
버프스위트 - Proxy - Proxy settings - 127.0.0.1:8888로 설정한다.
Request interception rules 메뉴에서 intercept requests based on the following rules 선택
Response interception rules 메뉴에서 intercept responses based on the following rules 선택
해당 옵션을 선택해야 Request, Response 모두 Intercept 가능하다.
FoxyProxy가 아닌 인터넷 옵션을 사용하여 프록시 설정을 한다.
1. 실행 창(ctrl + R)에서 inetcpl.cpl 을 입력한다.
2. 인터넷 속성 - 연결 - LAN 설정(L)
3. LAN 설정 - 사용자 LAN에 프록시 서버 사용 체크 - 고급(C)
4. 프록시 주소 및 포트번호 입력
5. 확인 클릭 후 적용 완료(확인을 클릭하지 않아 프록시 설정이 안되서 Intercept 안되는 경우 있음)
Intercept On 후(단축키 Ctrl + T) 네이버에 접속 시도를 한다.
아래 그림과 같이 안전하지 않은 연결로 연결되는데, 이는 SSL 인증서가 설치되지 않아 생기는 오류이다.
127.0.0.1:8888 또는 http://burp/ 로 접속 후 우측 상단에 CA Certificate를 클릭하여 인증서를 다운로드 받는다.
인증서 설치 - 현재 사용자 - 모든 인증서를 다음 저장소에 저장 - 찾아보기 - 신뢰할 수 있는 루트 인증 기관
위와 같이 설정 후 다음을 눌러 설치를 완료한다.
인증서 설치 완료 후 네이버에 다시 접속하면 정상적으로 접속되는 것을 확인할 수 있다.
만약 설치 후에도 네이버에 접속이 안된다면, 브라우저와 버프 스위트를 껏다가 다시 켠 후 실행한다.
만약 위와 같이 설정을 해도 접속이 안되거나 프록시 기능 사용이 어렵다면, 우측 상단 또는 중간에 Open browser 를 클릭하여 버프스위트에서 제공하는 크롬 브라우저를 사용한다. (별도의 프록시 설정이 필요없는 브라우저)
해당 브라우저를 사용하면 프록시 설정을 따로 하지 않아도 별도의 프록시 설정 없이 패킷을 잡을 수 있다.
버프 스위트(Burp Suite) 기능 설명
단축키(Settings - User Interface - Hotkeys)
Intercept On, Off(인터셉트 On Off) → Ctrl + T
Forward(패킷 전송) → Ctrl + F
Repeater(단일 패킷 확인, 사용자 입력값 테스트) → Ctrl + R
Issue Repeater request(Repeater Send, 사용자 입력값 전달) → Ctrl + Space
Intruder(자동화 도구) → Ctrl + I
Intercept On Off로 패킷을 잡는데는 시간이 오래걸리므로, Repeater를 활용하여 단일 패킷을 확인한다.
Repeater에서 원하는 패킷을 잡고 Repeater Send를 사용하여 사용자 입력값을 서버로 전송하여 응답을 확인한다.
리피터는 수동 제어 및 HTTP 요청을 재요청하고 어플리케이션 응답을 분석해준다.
취약점 진단을 위한 입력 파라미터 조작, 요청 재발행 등의 목적으로 활용이 가능하다.
(파라미터 값을 admin 에서 test로 변경하는 등 활용)
Intruder - 자동화 도구, 특정 파라미터에 순차적으로 번호를 입력, 딕셔너리 공격 등 활용 가능
Python 같은 언어로 스크립트를 작성해서 자동화 프로그램 작성이 가능하면 굳이 사용할 필요가 없다.
Decoder - 인코딩, 디코딩, Hash 등을 변환해준다.
참고
https://blog.naver.com/crehacktive3/221954903403
'웹 해킹 > 웹 해킹 및 시큐어 코딩 기초' 카테고리의 다른 글
OS Command Injection (2) | 2025.01.03 |
---|---|
SQL Injection 대응 방안 (1) | 2024.12.27 |
SQL Injection (1) | 2024.12.11 |
웹 해킹에 대한 이해 (0) | 2024.11.23 |
취약 환경 구축 (0) | 2024.11.22 |