0Pricing
Ethical Hacking Academy · 강의

일반적인 버그 찾기

IDOR, XSS, SSRF

일반적인 버그 찾기은(는) CoddyKit의 무료 Ethical Hacking Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ethical Hacking Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

가장 기본이 되는 취약점

몇 가지 취약점 종류는 흔하고 영향도 크기 때문에 대부분의 버그 바운티 보상을 차지합니다. 먼저 다음 세 가지를 익히십시오.

  • IDOR — 예측 가능한 ID를 통해 다른 사용자의 데이터에 접근하는 취약점
  • XSS — 페이지에 스크립트를 삽입하는 취약점
  • SSRF — 공격자가 선택한 URL을 서버가 가져오게 만드는 취약점

이 단원에서는 각 취약점을 체계적으로 찾는 방법을 보여 드립니다.

IDOR 이해하기

안전하지 않은 직접 객체 참조(IDOR)는 애플리케이션이 사용자가 제공한 식별자로 객체를 가져오면서 해당 사용자가 그 객체의 소유자인지 확인하지 않을 때 발생합니다.

ID를 바꾸면 다른 사람의 데이터에 접근할 수 있습니다. 이는 인젝션이 아니라 접근 제어 결함입니다.

# Your own invoice
GET /api/invoices/1001  Authorization: Bearer <your-token>

# Change the ID - do you get someone else's?
GET /api/invoices/1002  Authorization: Bearer <your-token>

효과적으로 IDOR 찾기

IDOR을 찾으려면 계정 두 개를 만들고 비교하십시오. ID로 객체를 참조하는 모든 기능이 후보가 됩니다.

  • 계정 A에서 A의 데이터를 가져오는 요청을 가로채십시오
  • 계정 B의 세션을 사용하되 A의 객체 ID를 넣어 요청을 다시 보내십시오
  • B가 A의 데이터를 볼 수 있다면 IDOR입니다

URL, JSON 본문, 헤더, 심지어 base64나 UUID 형식에도 ID가 있는지 살펴보십시오.

# Original (account A)
POST /api/profile/update
{ "user_id": 5001, "email": "a@example.com" }

# Tamper: use account B's session, keep A's user_id
# If A's profile changes, broken object-level authorization.

XSS 이해하기

사이트 간 스크립팅(XSS)은 다른 사용자의 브라우저에서 실행되는 JavaScript를 삽입하는 것입니다. 주요 유형은 세 가지입니다.

  • 반사형 — 페이로드가 즉각적인 응답에 그대로 되돌아옵니다
  • 저장형 — 페이로드가 저장되어 다른 사용자에게 제공됩니다(영향이 가장 큼)
  • DOM 기반 — 클라이언트 측 JS가 공격자의 입력을 안전하지 않게 DOM에 씁니다

XSS 검사하기

먼저 고유한 표식을 삽입하여 입력값이 어디에서 어떤 방식으로 반사되는지 확인한 다음, 해당 문맥(HTML 본문, 속성 또는 스크립트)에 맞는 페이로드를 작성하십시오.

어떤 페이로드가 문맥을 벗어나 실행되는지는 문맥에 따라 달라집니다.

# Probe reflection with a unique canary
?q=xss7391canary

# Basic HTML-context payload
<script>alert(document.domain)</script>

# Attribute breakout
" onmouseover=alert(1) x="

XSS 영향 입증하기

간단한 alert(1)은 실행을 입증하지만, 검토자는 영향을 원합니다. 공격자가 실제로 탈취하거나 수행할 수 있는 일을 보여 주십시오.

  • JS에서 접근 가능한 CSRF 토큰이나 세션 정보를 읽으십시오
  • 원점을 입증하기 위해 document.domain을 보여 주십시오
  • 저장형 XSS라면 피해자 계정에서 실행되는 모습을 보여 주십시오

실제 사용자의 세션을 절대 탈취하지 말고, 가능한 작업만 시연하십시오.

애플리케이션에서 SSRF 이해하기

버그 바운티에서 SSRF는 사용자가 제어하는 URL을 가져오는 기능을 찾는 것을 의미합니다. 가능한 후보는 다음과 같습니다.

  • 웹훅 URL, 콜백 URL
  • 원격 리소스를 가져오는 이미지/PDF 생성기
  • URL 미리 보기 또는 링크 펼치기 기능
  • URL에서 가져오기 기능

영향을 입증하려면 이러한 기능을 내부 엔드포인트나 메타데이터 엔드포인트로 지정하십시오.

대역 외 방식으로 SSRF 확인하기

응답에 가져온 콘텐츠가 표시되지 않는 경우, 대역 외 서버를 사용하여 대상이 요청을 보냈는지 확인하십시오. 상호작용 콜백이 블라인드 SSRF를 입증합니다.

Burp Collaborator나 interactsh 같은 도구를 사용하면 요청 기록이 남는 고유 URL을 받을 수 있습니다.

# Give the app your unique OOB URL
POST /api/webhook
{ "callback": "http://abc123.oast.fun/" }

# If abc123.oast.fun logs a DNS/HTTP hit, the server fetched it = SSRF.

프록시를 사용해 찾기

세 가지 취약점 종류는 모두 요청을 가로채고 변조하여 찾을 수 있습니다. 가로채기 프록시는 핵심 도구입니다.

  • Burp Suite 또는 OWASP ZAP으로 트래픽을 캡처하고 수정하십시오
  • Repeater로 단일 요청을 다시 보내고 조정하십시오
  • Intruder/퍼저로 여러 ID나 페이로드를 검사하십시오

한 가지 기법보다 프록시를 깊이 익히는 것이 더 큰 도움이 됩니다.

연결하여 더 큰 영향 만들기

가장 큰 보상은 취약점을 연결할 때 나옵니다. 중간 수준의 취약점도 다른 취약점과 결합하면 치명적인 문제가 될 수 있습니다.

  • 클라우드 메타데이터에 접근하는 SSRF는 자격 증명 탈취와 계정 탈취로 이어집니다
  • IDOR로 토큰이 노출되면 전체 계정이 침해될 수 있습니다
  • 관리자 패널의 저장형 XSS는 관리자 계정 탈취로 이어집니다

항상 이 취약점을 무엇과 결합할 수 있는지 생각하십시오.

신중하게, 범위 내에서 검사하기

이러한 취약점은 실제 데이터와 실제 사용자에 영향을 줍니다. 윤리적으로 행동하십시오.

  • 자신의 테스트 계정을 사용하고, 입증에 필요한 범위를 넘어 실제 사용자 데이터를 보지 마십시오
  • 실제 사용자에게 실행될 수 있는 저장형 XSS 페이로드를 피하고 자신에게만 실행되도록 범위를 제한하십시오
  • SSRF에서는 내부 시스템 깊숙이 이동하지 말고, 기본 동작을 입증한 뒤 중단하십시오

영향을 책임감 있게 입증하면 안전 보호 범위 안에 머물 수 있습니다.

빠른 확인

사용자 B로 로그인한 뒤 B의 세션과 사용자 A의 객체 ID를 사용해 요청을 다시 보냈고 A의 비공개 데이터를 받았습니다. 이는 어떤 취약점입니까?

복습: 일반적인 취약점 찾기

가치가 가장 높은 세 가지 취약점을 찾는 방법을 배웠습니다.

  • IDOR: 두 계정을 비교하고 객체 ID를 변조하여 소유권 검사를 확인합니다
  • XSS: 반사 여부를 확인하고 문맥에 맞는 페이로드를 작성하여 실제 영향을 입증합니다
  • SSRF: URL을 가져오는 기능을 찾고 블라인드 사례는 대역 외 방식으로 확인합니다
  • 치명적인 영향을 만들도록 취약점을 연결합니다(예: 클라우드 메타데이터로 이어지는 SSRF)
  • 가로채기 프록시를 사용하고 범위 안에서 작업하십시오

다음에는 발견 사항을 보상으로 이어지는 보고서로 작성합니다.

자주 묻는 질문

“일반적인 버그 찾기” 강의는 무료인가요?

네 — “일반적인 버그 찾기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ethical Hacking Academy 강의 전체를 잠금 해제할 수 있습니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“일반적인 버그 찾기”에서 뭘 배우나요?

IDOR, XSS, SSRF 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Ethical Hacking Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Ethical Hacking Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“일반적인 버그 찾기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Ethical Hacking Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Ethical Hacking Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 대상 선택하기
  2. 대규모 정찰
  3. 일반적인 버그 찾기
  4. 훌륭한 보고서 작성하기
← Ethical Hacking Academy(으)로 돌아가기