1. 프록시란?
- 프록시(Proxy)는 클라이언트와 서버 간의 중간에서 데이터를 중계하는 서버를 의미한다.
- 클라이언트가 요청한 데이터를 서버로 전달하고, 서버의 응답을 클라이언트로 전달하도록 한다.
- IP를 숨기거나, 요청을 분석/변경하는 등의 목적으로 사용되도록 한다.
- 웹 애플리케이션 테스트, 트래픽 분석, 보안 강화 등에 유용하게 사용되도록 한다.
2. 웹 프록시 툴
- 웹 프록시 툴은 HTTP/HTTPS 요청과 응답을 캡처하고 분석/변조할 수 있는 도구를 의미한다.
- 주요 툴:
- Burp Suite: 웹 애플리케이션 보안 테스트를 위한 강력한 도구.
- Fiddler: 요청/응답 캡처와 디버깅을 지원하는 간단한 프록시 툴.
- OWASP ZAP: 웹 보안 취약점 분석에 특화된 무료 도구.
- 주요 툴:
3. 프록시 서버
- 프록시 서버는 클라이언트와 서버 사이에 위치하여 중계 역할을 수행하는 서버이다.
- 포워드 프록시: 클라이언트가 인터넷 서버에 요청할 때 중개 역할을 하도록 한다.
- 예: IP 숨기기, 방화벽 우회.
- 리버스 프록시: 인터넷 사용자가 서버에 접근할 때 서버를 대신하여 요청을 처리하도록 한다.
- 예: 부하 분산, 보안 강화.
- 익명 프록시: 사용자의 실제 IP를 숨기고 요청을 서버로 전달하도록 한다.
- 포워드 프록시: 클라이언트가 인터넷 서버에 요청할 때 중개 역할을 하도록 한다.
4. VPN vs Proxy
- VPN (Virtual Private Network)
- 사용자의 모든 인터넷 트래픽을 암호화하고, 원격 서버를 통해 전달되도록 한다.
- 네트워크 보안, 개인정보 보호, 지역 제한 우회에 유용하다.
- 모든 애플리케이션 트래픽을 보호하도록 한다.
- Proxy
- 특정 애플리케이션(주로 브라우저)의 트래픽만 중계하도록 한다.
- 트래픽 암호화는 기본적으로 지원하지 않는다.
- 속도와 간단한 중계 작업에 적합하다.
도전 과제
1. 웹프록시 툴 설치하기
- Burp Suite 설치:
- 공식 사이트에서 Burp Suite Community Edition을 다운로드하여 설치하도록 한다.
- 설치 후, 브라우저에 프록시 설정을 적용하여 요청을 캡처하도록 한다.
2. 웹프록시 툴을 이용하여 패킷 변조하기
- Burp Suite나 Fiddler에서 프록시를 활성화하도록 한다.
- 브라우저에서 원하는 웹사이트에 접속하여 요청을 캡처하도록 한다.
- 캡처된 요청을 수정(예: URL, 헤더, 파라미터)한 뒤 서버로 다시 전송하여 응답을 분석하도록 한다.
3. http://war.knock-on.org:10001 실습하기
포스트 요청을 보내니까
1. POST 요청의 'request' 파라미터를 'get-flag'로 설정하세요!
두 번째로 Body에 파라미터를 추가해서 POST 요청을 보내니
2. User-Agent 헤더를 'bot'으로 설정하세요!
세 번째로 유저 에이전트를 bot 으로 설정해서 포스트 요청을 보내니
3. API_KEY가 'SUp3r_STr0000ng_k3y'인 Cookie 헤더를 가지고 있어야만 합니다!
굿! 플래그를 얻었습니다.
'Education > KnockOn Bootcamp 3rd' 카테고리의 다른 글
[2주차 TIL] KnockOn Bootcamp HTML (1) | 2024.12.16 |
---|---|
[1주차 TIL] KnockOn Bootcamp HTML, CSS, Javascript란? (2) | 2024.12.08 |
[1주차 TIL] KnockOn Bootcamp 패킷 (1) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp 쿠키와 세션 (0) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp HTTP/HTTPS (1) | 2024.12.06 |