클라이언트 측 공격 및 인증

클라이언트 측 공격과 인증 우회 기법을 마스터하세요. XSS 취약점 식별 방법, Hydra 를 이용한 웹 무차별 대입 공격 수행, 그리고 안전하지 않은 직접 객체 참조 (IDOR) 취약점 공격 방법을 학습합니다.

Cybersecurity Engineer사이버 보안HydraKali Linux

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

클라이언트 측 인젝션, 약한 비밀번호, 객체 수준 권한 검증 누락은 동일한 웹 애플리케이션의 서로 다른 부분을 노출할 수 있습니다. 이 과정에서는 격리된 로컬 대상을 상대로 명령줄 실습을 진행하며 반사형·저장형 XSS, 웹 로그인 사전 공격, IDOR 를 살펴봅니다.

입력이 HTML 과 JavaScript 문맥에 도달하는 과정을 추적하고, 지속적인 쿠키 유출 시나리오를 모의하며, 실제 로그인 실패 응답을 바탕으로 Hydra 를 설정하고 인증된 API 의 객체 참조를 조작합니다. 마지막 챌린지에서는 약한 자격 증명, IDOR, 저장형 XSS 를 연결해 여러 결함의 누적 효과를 확인합니다.

학습 내용

  • 반사되는 입력을 찾고 애플리케이션의 HTML 특수 문자 처리 방식을 테스트합니다.
  • HTML 속성 문맥을 벗어나 반사형 JavaScript 개념 증명 페이로드를 구성합니다.
  • XSS 페이로드를 저장하고 로컬 Netcat 리스너로 모의 관리자 쿠키를 캡처합니다.
  • HTTP POST 로그인 폼을 분석하고 소규모 워드리스트로 Hydra 의 http-post-form 모듈을 설정합니다.
  • Bearer 토큰으로 로컬 API 에 인증하고 인증과 객체 권한 부여를 구분합니다.
  • 직접 객체 식별자를 조작하여 실습용 사용자 및 관리자 프로필 데이터를 가져옵니다.
  • 독립 챌린지에서 비밀번호 추측, IDOR 토큰 접근, 저장형 XSS, 장악 검증을 연결합니다.

추천 대상

HTTP 기초를 이해하고 브라우저 측 인젝션과 웹 접근 제어 결함을 실습하려는 학습자를 위한 중급 과정입니다. 예비 웹 모의 해킹 전문가, 애플리케이션 보안 학습자, 클라이언트 제어 입력과 약한 인증 및 권한 검증 누락의 상호작용을 이해하려는 개발자에게 적합합니다.

선수 지식: Linux 터미널과 curl, 기본 GET/POST 요청, 헤더, 쿠키, JSON, HTML 태그 및 속성, 간단한 셸 루프나 리디렉션에 익숙해야 합니다.

학습 환경: Hydra, curl, Netcat, 제공 워드리스트와 로컬 5000, 8080 포트의 의도적 취약 애플리케이션이 준비된 Ubuntu 22.04 터미널입니다. 쿠키 캡처 실습에서는 제공 Python 스크립트가 브라우저 피해자를 모의합니다.

자주 묻는 질문

그래픽 브라우저에서 XSS 페이로드를 실행하나요?

아니요. 반사형 XSS 실습은 curl로 취약한 HTML 응답을 검사하고 브라우저의 파싱 방식을 설명합니다. 저장형 XSS 실습은 피해자 시뮬레이터로 관리자 방문을 재현하고 실습용 쿠키를 로컬 리스너로 보냅니다.

비밀번호 공격이 실제 사용자 계정을 대상으로 하나요?

아니요. Hydra 와 챌린지의 소규모 워드리스트는 의도적으로 약하게 만든 로컬 로그인 엔드포인트에서만 작동합니다. 계정과 자격 증명은 실습용입니다.

이 과정에서 인증 우회와 IDOR 는 어떻게 다른가요?

비밀번호 실습은 유효한 자격 증명을 찾아 세션을 설정합니다. IDOR 실습에서는 이미 인증되었지만 서버가 클라이언트 식별자로 선택한 프로필에 대한 접근 권한을 확인하지 않습니다.

쿠키나 페이로드를 외부 서버로 보내나요?

아니요. 모의 쿠키는 localhost:8000의 Netcat 으로만 전송되며 모든 취약 애플리케이션, API 요청, 페이로드, 장악 검증은 과정 환경 안에 남습니다.

강사

labby
Labby
Labby is the LabEx teacher.