OWASP Top 10 Reference
OWASP 웹 보안 취약점 레퍼런스
OWASP Top 10 Reference 소개
OWASP Top 10 레퍼런스는 가장 치명적인 웹 애플리케이션 취약점을 체계적으로 정리한 검색 가능한 보안 가이드입니다. 인젝션 공격(SQL, Blind SQL, 명령어, LDAP, NoSQL), 인증 결함(무차별 대입, 세션 고정, 자격증명 스터핑, JWT 설정 오류), XSS 변형(반사형, 저장형, DOM 기반, 필터 우회), IDOR 패턴, 보안 설정 오류(헤더 누락, 디버그 모드, 기본 자격증명, CORS), 취약한 컴포넌트(의존성, 공급망 공격, SSRF, CSRF)를 다룹니다.
보안 엔지니어, 모의 침투 테스터, 웹 개발자를 위해 설계되었으며, 각 항목은 실제 익스플로잇 예제와 함께 JavaScript, Python, 설정 스니펫으로 구체적인 대응 코드를 제공합니다.
총 26개 항목이 인젝션, 인증, XSS, IDOR, 설정오류, 컴포넌트의 6개 카테고리로 구성되어, 보안 감사, 코드 리뷰, CTF 대회 중 특정 취약점을 빠르게 찾을 수 있습니다.
주요 기능
- SQL 인젝션 변형: 일반, 블라인드(불리언/시간 기반), NoSQL 인젝션과 대응 코드
- XSS 공격 레퍼런스: 반사형, 저장형, DOM 기반, 필터 우회 페이로드와 CSP 방어
- 인증 공격 패턴: 무차별 대입, 세션 고정, 자격증명 스터핑, JWT 익스플로잇
- REST API의 IDOR 취약점 예제와 서버 측 권한 검증 수정 방법
- 보안 헤더 체크리스트: HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy
- 공급망 공격 대응: 타이포스쿼팅, 의존성 감사 도구(npm audit, Snyk, pip-audit)
- SSRF, CSRF 공격 원리와 방어 전략(URL 화이트리스트, CSRF 토큰, SameSite 쿠키)
- 전체 카테고리 키워드 필터링으로 취약점 즉시 검색 지원
자주 묻는 질문
이 OWASP 레퍼런스에서 어떤 취약점을 다루나요?
인젝션 공격(SQL, Blind SQL, 명령어, LDAP, NoSQL), 인증 결함(무차별 대입, 세션 고정, 자격증명 스터핑, JWT 설정 오류), 모든 XSS 유형(반사형, 저장형, DOM 기반, 필터 우회), IDOR 패턴, 보안 설정 오류(헤더 누락, 디버그 모드, 기본 자격증명, CORS), 취약한 컴포넌트(의존성 취약점, 공급망 공격, SSRF, CSRF)를 다룹니다.
공격 예제와 방어 예제를 모두 포함하나요?
네. 각 항목은 익스플로잇 예제가 포함된 공격 벡터와 함께 구체적인 대응 전략을 보여줍니다. 예를 들어 SQL 인젝션 항목에는 악성 입력 페이로드와 prepared statement를 사용한 파라미터화 쿼리 수정 방법이 모두 포함됩니다.
반사형, 저장형, DOM 기반 XSS의 차이점은 무엇인가요?
반사형 XSS는 URL 파라미터를 통해 스크립트를 주입하여 응답에 즉시 반영됩니다. 저장형 XSS는 악성 스크립트를 데이터베이스(예: 댓글)에 저장하고 다른 사용자가 콘텐츠를 볼 때 실행됩니다. DOM 기반 XSS는 서버 관여 없이 innerHTML 할당 등을 통해 클라이언트 측 DOM을 직접 조작합니다.
SQL 인젝션은 어떻게 방지하나요?
문자열 결합 대신 파라미터화 쿼리(prepared statement)를 사용합니다. 예: "db.prepare('SELECT * FROM users WHERE name = ?')"로 사용자 입력을 파라미터로 전달합니다. 추가로 입력 유효성 검사, WAF 규칙 적용, 데이터베이스 계정에 최소 권한 원칙을 적용하세요.
모든 웹 애플리케이션에 필수적인 보안 헤더는 무엇인가요?
최소한 다음 헤더가 필요합니다: HTTPS를 강제하는 Strict-Transport-Security(HSTS), XSS를 방지하는 Content-Security-Policy(CSP), MIME 스니핑을 방지하는 X-Content-Type-Options: nosniff, 클릭재킹을 방지하는 X-Frame-Options: DENY, 리퍼러 유출을 제어하는 Referrer-Policy: strict-origin.
CSRF 방어는 어떻게 작동하나요?
CSRF는 모든 상태 변경 요청(POST, PUT, DELETE)에 서버에서 생성한 고유 토큰을 요구하여 방지합니다. 서버는 요청 처리 전에 토큰을 검증합니다. 추가로 쿠키에 SameSite 속성(Lax 또는 Strict)을 설정하면 브라우저가 크로스 오리진 요청에 쿠키를 전송하지 않습니다.
프로젝트의 취약한 의존성을 어떻게 감지하나요?
npm audit(Node.js), pip-audit 또는 safety check(Python), 다중 언어 스캔을 위한 Snyk를 사용합니다. GitHub Dependabot으로 자동 취약점 알림을 활성화하세요. 항상 lock 파일(package-lock.json, poetry.lock)을 사용하고, 내부 패키지 레지스트리 운영을 고려하세요.
이 OWASP Top 10 레퍼런스는 무료인가요?
네, 계정이나 다운로드 없이 완전히 무료로 사용할 수 있습니다. 모든 콘텐츠는 서버 통신 없이 브라우저에서 로드됩니다. liminfo.com의 무료 보안 및 개발자 도구 모음의 일부입니다.