Source: Dev.to
번역을 진행하려면 번역하고자 하는 본문 텍스트를 제공해 주세요. 현재 제공된 내용은 소스 링크만 포함되어 있어 번역할 텍스트가 없습니다. 텍스트를 알려주시면 그대로 한국어로 번역해 드리겠습니다.
버그 바운티란?
버그‑바운티 프로그램은 보안 연구원들이 소프트웨어, 웹사이트 및 애플리케이션에서 취약점을 찾아 책임감 있게 보고할 경우 보상을 제공합니다. 기업은 버그의 심각도에 따라 $50부터 **$2 000 000+**까지 지급합니다.
전제 조건
| ✅ | 요구 사항 |
|---|
| 1 | 웹이 작동하는 방식에 대한 기본 이해 (HTTP, DNS, 쿠키, 세션) |
| 2 | HTML, CSS, JavaScript 기본 지식 |
| 3 | 기본 프로그래밍 (Python 권장) |
| 4 | Linux 명령줄 기본 |
| 5 | 네트워킹 기본 (TCP/IP, 포트, 프로토콜) |
| 6 | 인내심 – 대부분의 사냥꾼은 첫 6 개월에 포기합니다 |
| 7 | 호기심 및 끈기 |
| 8 | 지속적인 학습 의지 |
| 9 | 윤리적 행동 (허가 없이 테스트하지 않음) |
환경 설정
1. Linux 기반 OS 선택
- 권장: Kali Linux, Parrot OS, 또는 Ubuntu/Debian (도구를 수동으로 설치).
2. 핵심 패키지 및 도구 설치
# Update system
sudo apt update && sudo apt upgrade -y
# Install basic tools
sudo apt install -y git curl wget python3 python3-pip nmap
# Install Go (needed for many tools)
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin:~/go/bin' >> ~/.bashrc
source ~/.bashrc
# Install subfinder (sub‑domain enumeration)
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# Install httpx (HTTP probing)
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
# Install nuclei (vulnerability scanner)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Install ffuf (fuzzing)
go install github.com/ffuf/ffuf/v2@latest
3. 브라우저 및 프록시
- Firefox 또는 Chrome 설치.
- 확장 프로그램 추가: FoxyProxy, Wappalyzer, Cookie Editor, HackBar.
- Burp Suite Community Edition 다운로드.
- 프록시 리스너를
127.0.0.1:8080으로 설정하고 브라우저가 이 프록시를 사용하도록 구성합니다.
- 브라우저에 Burp의 CA 인증서를 설치합니다.
학습 경로
| 📚 코스 / 리소스 | 설명 |
|---|
| PortSwigger 웹 보안 아카데미 | 무료, 웹 애플리케이션 기본에 필수. |
| TryHackMe – 버그 바운티 경로 | 실습 랩과 방. |
| HackTheBox 아카데미 | 체계적인 학습 트랙. |
| OWASP Top 10 | 핵심 취약점 카테고리 (아래 참고). |
| 법적 연습 대상 | DVWA, bWAPP, OWASP WebGoat, HTB 머신, TryHackMe 방, PentesterLab. |
OWASP Top 10 (필수)
- 인젝션 (SQL, 명령, LDAP)
- 인증 손상
- 민감 데이터 노출
- XML 외부 엔티티 (XXE)
- 접근 제어 손상
- 보안 구성 오류
- 교차 사이트 스크립팅 (XSS)
- 안전하지 않은 역직렬화
- 알려진 취약점이 있는 구성 요소 사용
- 로그 및 모니터링 부족
플랫폼 선택
| 플랫폼 | 추천 대상 |
|---|
| HackerOne | 가장 다양한 프로그램 |
| Bugcrowd | 초보자 친화적 |
| Intigriti | 유럽 프로그램 |
| YesWeHack | 유럽 프로그램 |
| Immunefi | 암호화폐 / Web3 (높은 보상) |
| Synack | 초대 전용, 높은 보상 |
프로그램 선택 팁
- 범위가 넓은 프로그램부터 시작하세요.
- 분류 팀의 빠른 응답 시간을 확인하세요.
- 헌터가 많이 몰린 프로그램(경쟁이 치열한)을 피하세요.
- 새로운 프로그램은 종종 더 많은 쉬운 취약점을 포함하고 있습니다.
첫 번째 버그 찾기
Recon 워크플로우 (예시)
# 1️⃣ Find subdomains
subfinder -d target.com -o subdomains.txt
# 2️⃣ Check which are alive
cat subdomains.txt | httpx -o alive.txt
# 3️⃣ Gather historic URLs
cat alive.txt | waybackurls > urls.txt
수동 탐색
- 애플리케이션을 탐색한다.
- 모든 기능 및 동작을 파악한다.
- 인증 메커니즘을 기록한다.
- 입력 필드(폼, 파라미터, 헤더)를 찾는다.
- API가 있는지 확인한다.
먼저 목표로 할 고영향 버그 유형
| 버그 유형 | 전형적인 벡터 |
|---|
| 인증 문제 | 비밀번호 재설정 결함, 계정 탈취 |
| 접근 제어 | IDOR, 권한 상승 |
| 인젝션 | XSS, SQLi, 명령어 인젝션 |
| 비즈니스 로직 | 가격 조작, 레이스 컨디션, 쿠폰 재사용 |
좋은 보고서 작성
Title: [Vulnerability Type] in [Feature/Endpoint] allows [Impact]
Summary:
- Brief description of the vulnerability and its impact.
Severity:
- Critical / High / Medium / Low
Steps to Reproduce:
1. Go to the vulnerable endpoint
2. Perform specific action
3. Observe the vulnerability
Proof of Concept:
- Screenshots, videos, code snippets
Impact:
- Explain what an attacker could do
Recommended Fix:
- Suggest how to fix the issue
추가 보고 팁
- 스크린샷을 찍고, HTTP 요청/응답을 기록하며, 재현 단계를 보고하기 전에 반드시 적어 두세요.
- 가능한 경우 증거(PCAP, 로그)를 포함하세요.
- 언어는 명확하고 간결하게 유지하세요.
일반적인 취약점 유형 (빠른 참고)
| 찾는 위치 | 예시 |
|---|
| Search boxes, comment fields, profile fields, URL parameters | XSS, 반사형 인젝션 |
| Login forms, search features, filters, any DB query | SQLi, 인증 우회 |
API endpoints (e.g., /api/user/123/profile) | IDOR – ID 변경 (123 → 124) |
| Password‑reset flows | 토큰 유출, 속도 제한 없음 |
| Session handling | 로그아웃 시 세션이 무효화되지 않음 |
| E‑commerce actions | 음수 수량, 결제 건너뛰기, 쿠폰 재사용, 레이스 컨디션 |
| Public files | /.git/config, /.env, /config.php.bak, /api/swagger.json |
| 도구 | 목적 |
|---|
| Burp Suite | 웹 프록시 및 테스트 스위트 |
| Subfinder | 서브도메인 열거 |
| Nuclei | 취약점 스캔 (템플릿) |
| ffuf | 퍼징 |
| httpx | HTTP 프로빙 |
| Nmap | 포트 스캔 |
| SQLMap | 자동화된 SQL 인젝션 |
| Amass | 고급 서브도메인 열거 |
성공을 위한 팁
- 프로그램 범위를 주의 깊게 읽으세요 – 범위 내에 머무르세요.
- 덜 인기 있는 프로그램부터 시작하여 경쟁을 줄이세요.
- 하나의 취약점 유형에 집중하여 숙달할 때까지 진행하세요.
- 꾸준히 사냥하세요 – 매일 2–3시간이면 꾸준한 진전을 얻을 수 있습니다.
- 중복 사례에서 배우세요 – 보고서가 거부된 이유를 이해하세요.
- 다른 헌터들과 네트워킹하세요 (Discord, Reddit, Twitter).
- 모든 것을 문서화하세요 – 노트, 스크립트, 발견 내용 등.
- 인내심을 가지세요 – 95 %가 일찍 포기합니다; 지속하는 5 %가 되세요.
- 무작위 자동화를 피하세요 – 페이로드를 대상에 맞게 조정하세요.
- 보고서를 스팸으로 보내지 말고 허가 없이 테스트하지 마세요.
- 명시적인 동의 없이 공개적으로 공개하지 마세요.
리소스
| 카테고리 | 리소스 |
|---|
| 학습 | PortSwigger Web Security Academy, TryHackMe Bug Bounty Path, HackTheBox Academy |
| 뉴스 및 트렌드 | HackerOne Hacktivity, PentesterLand Newsletter |
| 커뮤니티 | STOK, NahamSec, InsiderPhD, LiveOverflow, John Hammond |
| 도서 | Web Application Hacker’s Handbook, Bug Bounty Bootcamp (Vickie Li), Real‑World Bug Hunting (Peter Yaworski) |
| Discord / 포럼 | HackerOne Discord, Bugcrowd Discord, NahamSec Discord, r/bugbounty (Reddit) |
Income Roadmap
| Level | Monthly Income | Time to Reach |
|---|
| Beginner | $0 – $500 | 0 – 12 months |
| Intermediate | $2 000 – 5 000 | 1 – 2 years |
| Advanced | $8 000 – 15 000 | 2 – 3 years |
| Elite | $20 000 + | 3 + years |
Typical Timeline
| Period | Milestone |
|---|
| Month 1‑3 | 학습 및 실습 – $0 수익 (정상) |
| Month 4‑6 | 첫 번째 유효 보고서 – $0‑$500 |
| Month 7‑12 | 지속적인 발견 – $500‑$2 000 / month |
| Year 2 | 중급 수준 – $2 000‑$5 000 / month |
| Year 3+ | 고급 / 엘리트 – $8 000+ / month |
수입 추정
- Year 1–2: $2,000 – $5,000 월
- Year 3+: Advanced hunter, $5,000 – $15,000+ 월
Remember: 버그 바운티는 스프린트가 아니라 마라톤이다. 꾸준히 하며 배우는 것을 멈추지 않으면 보상이 찾아온다.
마지막 업데이트: 2026년 1월