[모의해킹 스터디] 4주차 정리

바울·2024년 11월 19일
0

모의해킹 스터디

목록 보기
8/40

Web Proxy란?

웹 프록시(Web Proxy)는 사용자의 요청(Request)과 응답(Response)을 대신 처리해주는 중계 서버입니다. 사용자가 웹사이트에 직접 접근하지 않고, 웹 프록시를 통해 접속하면 프록시가 사용자 대신 요청을 보내고 응답을 받아 전달합니다.


웹 프록시의 주요 기능

1. 익명성 제공

  • 사용자의 IP 주소를 숨기고, 프록시 서버의 IP로 요청을 전달하여 익명성을 유지합니다.
  • 예: 특정 웹사이트에 사용자의 실제 위치나 신원을 숨기고 접속.

2. 콘텐츠 필터링

  • 특정 웹사이트나 콘텐츠를 차단할 수 있습니다.
  • 예: 학교나 회사에서 비생산적인 웹사이트 차단.

3. 캐싱 기능

  • 자주 요청되는 데이터를 프록시 서버에 저장하여 빠른 응답을 제공합니다.
  • 예: 정적 파일(이미지, CSS 등)을 캐싱하여 네트워크 속도와 서버 부하 감소.

4. 보안 강화

  • SSL/TLS를 통해 암호화된 데이터를 중계하며 보안성을 높일 수 있습니다.
  • 예: 악성 코드가 포함된 요청 차단.

5. 접근 제한 우회

  • 지역 제한이나 방화벽을 우회하여 특정 콘텐츠에 접근 가능.
  • 예: 해외에서 국내 서비스 접속, 또는 차단된 사이트 접근.

웹 프록시의 유형

1. 포워드 프록시(Forward Proxy)

  • 사용자가 특정 웹 서버에 접근할 때 중간에 위치하여 요청을 전달합니다.
  • 주요 사용 사례: IP 숨기기, 접근 제한 우회.

    동작과정: 사용자 → 프록시 서버 → 웹 서버.

2. 리버스 프록시(Reverse Proxy)

  • 웹 서버 앞에 위치하여 클라이언트의 요청을 받아 내부 서버로 전달합니다.
  • 주요 사용 사례: 로드 밸런싱, 서버 보안 강화.

    동작과정: 클라이언트 → 리버스 프록시 → 내부 웹 서버.

3. 트랜스페어런트 프록시(Transparent Proxy)

  • 사용자가 인식하지 못한 상태에서 요청을 처리합니다.
  • 주요 사용 사례: 기업의 네트워크 모니터링, 필터링.

웹 프록시의 장점과 단점

장점

  • 익명성 제공: 사용자 정보를 보호.
  • 속도 향상: 캐싱을 통한 빠른 데이터 전달.
  • 보안: 중간에서 악성 트래픽 필터링.
  • 접근성 확대: 차단된 콘텐츠에 접근 가능.

단점

  • 속도 저하: 캐싱이 없거나 과부하 상태일 경우 성능 저하.
  • 보안 문제: 프록시 서버가 신뢰할 수 없는 경우, 사용자 데이터가 노출될 위험.
  • 제한된 기능: 특정 애플리케이션이나 프로토콜은 프록시에서 지원하지 않을 수 있음.

Burp Suite란?

Burp Suite는 웹 애플리케이션의 보안 취약점을 분석하고 테스트하기 위한 전문 도구입니다. PortSwigger에서 개발한 이 도구는 웹 애플리케이션 보안 전문가, 버그 헌터, 펜테스터들이 주로 사용하며, 다양한 기능을 제공해 취약점 점검과 보안 분석을 체계적으로 수행할 수 있도록 돕습니다.

Burp Suite Community Editon

Burp Suite Community Edition은 PortSwigger에서 제공하는 Burp Suite의 무료 버전이다. 유료 버전(Pro Edition)에 비해 기능이 제한적이고 특정 기능은 속도가 느리지만 프록시(Proxy), 리피터(Repeater) 같은 기본 도구를 사용할 수 있어 웹 프록시 툴을 입문하기에 좋다.


CTF Get Admin

Burp Suite를 이용해 풀 수 있는 간단한 ctf를 풀어보자

문제를 보면 admin 계정으로 접속 시 flag를 얻을 수 있는 것으로 추정되고 현재 우리 계정으로 로그인을 할 수 있는 것 같다 페이지를 접속해 보자!

로그인을 할 수 있는 입력란이 있으니 문제에서 주어진 계정으로 로그인을 시도해 보자!

User Name에 로그인한 아이디가 나오고 다른 정보는 없는 것 같다 burp suite를 이용해 로그인 동작 방식을 살펴봐야겠다.

트래픽을 가로채기 위해 intercept on을 시켜준 후 open browser를 통해 접속한 후 똑같이 주어진 계정으로 로그인해 보았다.

HTTP history에서 로그인 과정을 살펴보니 로그인 성공 시 서버에서 로그인을 한 아이디를 loginUser라는 이름의 쿠키에 넣어서 클라이언트에게 보내고 index.php로 리다이렉트 시키는 걸 볼 수 있다.

아무래도 loginUser= 이 부분이 의심스럽다.. repeater를 이용해 값을 변경해 보자

문제에 admin 계정으로 접속하자!라고 되어있기 때문에 쿠키 값을 admin으로 바꾸니까 flag가 나오는 걸 확인할 수 있다!

0개의 댓글