프록시(Proxy)
- 프록시(Proxy)란 중간에서 대신 요청을 전달하고 응답을 받아주는 중계 서버입니다.
- 클라이언트(나)와 서버(목표) 사이에 위치해서, 내가 바로 서버에 접속하는 대신 프록시가 대신 요청하고, 응답도 프록시가 받아서 나에게 전달합니다.
- 프록시의 사용 목적
1. 익명성 보장 (IP 숨기기)
2. 접근 차단 우회 (지역 제한 콘텐츠 접속 등)
3. 캐싱 (속도 향상)
4. 보안 검사 (기업 환경 등에서 웹 필터링)
웹 프록시 툴 종류
툴 이름 | 설명 |
Burp Suite | 가장 유명한 웹 프록시 도구. 보안 테스트 시 필수. 트래픽 가로채기, 수정, 리플레이 가능. |
OWASP ZAP | 오픈소스 무료 프록시 툴. 자동 스캐닝 기능 탑재. 초보자에게도 친숙. |
Fiddler | 윈도우에서 많이 쓰는 HTTP 디버깅 프록시 툴. HTTPS 트래픽도 분석 가능. |
Charles Proxy | 주로 모바일 앱 트래픽 분석 시 사용. 직관적인 UI 제공. |
Mitmproxy | 터미널 기반 강력한 프록시. 스크립트화와 자동화에 강점. |
프록시 서버
- 프록시 서버는 앞서 설명한 프록시 역할을 하는 서버 그 자체입니다.
- 프록시 서버의 종류
- 포워드 프록시 (Forward Proxy): 내부 사용자가 외부에 접속할 때 사용
- 리버스 프록시 (Reverse Proxy): 외부 사용자가 내부 서버에 접속할 때, 서버 앞단에서 요청을 받아 처리
- 오픈 프록시 (Open Proxy): 누구나 사용할 수 있도록 개방된 프록시
VPN vs Proxy
- VPN은 강력한 보안과 전체 네트워크 적용을 원할 때 사용합니다.
- 프록시는 특정 앱만 IP 바꾸거나 빠르게 테스트할 때 사용합니다.
구분 | VPN | Proxy |
암호화 | 전체 트래픽 암호화 (고급 보안) | 대부분 암호화 안 함 (HTTP 프록시 기준) |
적용 범위 | 컴퓨터/디바이스 전체 트래픽 | 특정 앱 또는 브라우저 트래픽만 |
속도 | 상대적으로 느릴 수 있음 (암호화 때문에) | 보통 빠름 (경량화되어 있음) |
익명성 | IP 숨기기 + 트래픽 암호화 | IP 숨기기만 (보안성 낮음) |
사용 용도 | 공공 Wi-Fi 보안, 국가 차단 우회 등 | 가벼운 IP 우회, 테스트 목적 등 |
실습
- 웹프록시 툴 설치하기
- 블로그에 Brup Suite 설치 방법 작성해두었습니다. 바로가기
Burp Suite 설치 방법
Burp Suite 설치 방법입니다. http://portswigger.net/burp 접속합니다. Burp Suite - Application Security Testing Software Get Burp Suite. The class-leading vulnerability scanning, penetration testing, and web app security platform. Try for free to
security-student.tistory.com
- 웹프록시 툴을 이용하여 패킷 변조해보기
1. 브라우저 프록시 설정
- Burp의 기본 프록시는 127.0.0.1:8080
- 브라우저에서 프록시 설정을 Burp로 맞추면 브라우저 트래픽이 Burp로 전달됩니다.
- HTTPS 트래픽도 분석하려면 Burp의 CA 인증서를 브라우저에 설치해야 합니다.
2. Intercept (인터셉트) 켜기
- Burp > Proxy > Intercept 탭 > "Intercept is on" 으로 활성화
- 이제 브라우저 요청이 멈추고 Burp에서 보입니다.
3. 패킷 수정 (변조)
- 가로챈 HTTP 요청이나 응답을 자유롭게 수정 가능
1. 위 주소 접속화면이고, POST 요청으로 변경해야 하므로 Brup Suite를 실행합니다.
2. Brup Suite 실행 후 Intercept off를 클릭하여 Open browser를 클릭해서 브라우저를 접속합니다. 주소를 입력하여 확인 해보면 첫번째 줄에 GET / HTTP/1.1 을 확인할 수 있습니다.
3. 주소를 입력하여 확인 해보면 첫번째 줄에 GET / HTTP/1.1 을 확인할 수 있습니다.
4. GET /HTTP/1.1를 POST / HTTP/1.1로 변경하여 Forward 버튼을 클릭하여 Forward를 진행합니다.
5. 아래의 화면을 확인할 수 있습니다.
6. POST 요청의 'request' 파라미터를 'get-flag'로 설정해야하므로 요청 들어온 것을 오른쪽 클릭하여 Send to Repater를 클릭 후 상단에 Prpeator를 클릭하여 이동합니다.
7. 아래와 같이 화면을 확인할 수 있습니다.
8. 'request' 파라미터를 'get-flag'로 설정해야하므로 오른쪽 Inspector의 Request body paramters를 클릭하여 Name : request, Value : get-flag 를 입력하여 저장 후 Send 버튼을 클릭합니다.
9. 아래와 같이 Response 가 변경된 것을 확인할 수 있고 Request를 복사하여 Proxy로 이동하여 Request를 변경 후 Forward 버튼을 클릭하여 Forward를 진행합니다.
10. 아래의 화면을 확인할 수 있습니다.
11. User-Agent 헤더를 bot으로 설정하기 위해 위에 설명한 방법으로 다시 진행하여 Prpeator로 이동 후 Request에서 User-Agent 의 값을 bot로 변경하여 Send를 클릭합니다.
12. 아래와 같이 Response 가 변경된 것을 확인할 수 있고 Request를 복사하여 Proxy로 이동하여 Request를 변경 후 Forward 버튼을 클릭하여 Forward를 진행합니다.
13. 아래의 화면을 확인할 수 있습니다.
14. API_KEY가 SUp3r_STr0000ng_k3y인 Cookie 설정하기 위해 위에 설명한 방법으로 다시 진행하여 Prpeator로 이동 후 Request에서 Cookie: API_KEY=SUp3r_STr0000ng_k3y 입력하거나 Inspector의 Request cookies에 Name : API_KEY, Value : Up3r_STr0000ng_k3y를 입력 후 Add를 클릭합니다.
15. 아래와 같이 Response 가 변경된 것을 확인할 수 있고 Request를 복사하여 Proxy로 이동하여 Request를 변경 후 Forward 버튼을 클릭하여 Forward를 진행합니다.
16. SUCCESS를 확인하며 PLAG 값을 확인할 수 있습니다.
'ELITE HACKER Bootcamp 4th > 1주차' 카테고리의 다른 글
[1주차 TIL] KnockOn Bootcamp HTML, CSS, Javascript (0) | 2025.04.07 |
---|---|
[1주차 TIL] KnockOn Bootcamp 패킷 (0) | 2025.04.06 |
[1주차 TIL] KnockOn Bootcamp Cookie & Session (0) | 2025.04.05 |
[1주차 TIL] KnockOn Bootcamp HTTP / HTTPS (0) | 2025.04.05 |
[1주차 TIL] KnockOn Bootcamp Protocol (0) | 2025.04.05 |