1. Proxy 서버란?
클라이언트와 서버가 중간에 거쳐 가는 서버
프록시를 사용하지 않는 경우 클라이언트의 요청
브라우저 -> 서버
프록시를 사용하는 경우 클라이언트의 요청
브라우저 -> 프록시 -> 서버
응답도 마찬가지로 프록시 서버를 거쳐간다. 위 과정과 방향만 반대로 거쳐간다.
2. Burp Suite
burp suite를 부르는 방식은 버프슈트, 버프 스위트, 버프 스윗 등 다양한데 나는 보통 버프슈트라고 부른다.
버프슈트는 프록시 서버를 제공하고, 모의해킹에 사용되는 다양한 기능들을 제공하기 때문에 모의해킹에 필수적이다. 아마 모의해킹을 공부 한다면 알 수 밖에 없을 것이다.
아직은 나도 공부를 하고 있는 과정이기 때문에 공부하며 익힌 기능들을 정리해본다.
Proxy : web browser와 web server 중간에 위치하여 패킷을 확인한다. 버프슈트에서 가장 자주 사용된다. 이 기능으로 패킷을 가로채서 요청/응답을 확인하거나 변조/삭제할 수 있다.
Intruder : web application에 대해 사용자가 정의한 자동화 공격을 수행한다. 대표적으로 브루트포스 공격에 사용된다.
Repeater : web application의 응답을 분석하기 위해 여러 개의 변조된 HTTP 요청을 전송한다. 변조된 요청에 대한 응답을 바로 바로 확인할 수 있어서 이 기능도 자주 쓰인다.
특히 Blind SQL Injection 실습할 때 많이 사용했다.
Decoder : 암호화된 데이터를 복호화(decoder) 하거나 평문의 데이터를 암호화(encoder)의 기능을 제공한다. url, base64등 다양한 형식의 인코딩과 디코딩을 제공한다.
3. Burp Suite로 proxy 이용하기
그렇다면 실제 Burp Suite로 proxy기능을 사용해보자.
우선 Proxy -> Proxy Settings -> Proxy Listener 이동한다.
Listener는 모든 요청과 응답을 가로채는 Burp의 사용자 주도 워크플로우의 핵심이라고 한다.
기본적으로 127.0.0.1:8080으로 설정 되어있는 것을 확인할 수 있다. (이미 기본 설정이 되어있기 때문에 굳이 건드리지 않아도 된다. 만약 8080포트가 사용중 이라면 여기서 변경한다.)
이제 127.0.0.1:8080을 프록시 서버로 사용하기 위해서 브라우저 설정을 변경해야한다.
설정 -> 네트워크 및 인터넷 -> 프록시 이동 후 수동 프록시 설정에서 프록시 서버 사용 편집 클릭!
프록시 서버 사용을 키고 listener에서 설정된 ip 주소 (127.0.0.1)와 포트 번호(8080)을 적어준 후 저장을 누르면 프록시 서버 설정은 완료된다.
열심히 웹 서핑을 하며 여기저기 돌아다닌 후
Proxy -> HTTP History 를 통해 오고간 패킷을 확인해보면
이렇게 잘 나오는 것을 확인할 수 있다!
'웹 모의해킹 스터디 > 수업 정리' 카테고리의 다른 글
12주차 수업 정리 (CSRF, XSS와 CSRF 차이, CSRF 취약점, 공격 예시) (0) | 2024.01.18 |
---|---|
11주차 수업 정리 - 2 (JavaScript DOM, 정보 탈취) (0) | 2024.01.11 |
11주차 수업 정리 - 1 (XSS 공격 시나리오, XSS 대응 방안, 필터링은 대응방안이 아니다) (2) | 2024.01.11 |
쿠키 vs 세션 vs 토큰(JWT) | 서버가 로그인 상태를 유지하는 방법 (2) | 2023.11.14 |
로그인은 식별과 인증으로 나뉜다 (0) | 2023.11.10 |