본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Open Web Application Security Project(OWASP) 에서 2013년에 발표한 웹 애플리케이션 보안 위험 Top 10

2010년판을 고친 것으로, 2017년판이 나오기 전까지 웹 취약점 점검과 시험 문제의 기준으로 널리 쓰였다. 2017년판에서 크로스 사이트 요청 변조(CSRF)와 검증되지 않은 리다이렉트가 빠졌기 때문에, CSRF 가 보기에 나오는 OWASP 문제는 대개 2013년판 기준이다.

순위 항목 요지 2017년판에서
A1 인젝션 신뢰할 수 없는 데이터가 명령·쿼리의 일부로 인터프리터에 전달된다 → SQL 인젝션 A1 유지
A2 취약한 인증과 세션 관리 인증·세션 관리가 잘못 구현되어 비밀번호·키·세션 토큰이 노출되고 다른 사용자로 가장할 수 있다 → 인증 및 세션 관리 취약점 A2 '취약한 인증'
A3 크로스 사이트 스크립팅(XSS) 검증하지 않은 입력이 웹 페이지에 그대로 실려 피해자 브라우저에서 스크립트가 실행된다 → 크로스사이트 스크립트 A7 로 내려감
A4 안전하지 않은 직접 객체 참조 파일·키 같은 내부 객체를 파라미터로 그대로 노출해 값을 바꾸면 남의 데이터에 접근된다 A5 '취약한 접근 통제'로 합침
A5 잘못된 보안 구성 기본 계정·기본 설정, 불필요한 서비스, 패치 누락, 자세한 오류 메시지 A6
A6 민감한 데이터 노출 카드번호·인증정보 같은 민감한 데이터를 저장·전송할 때 암호화하지 않거나 약한 알고리즘을 쓴다 A3
A7 기능 수준의 접근 통제 누락 화면에서 메뉴만 숨기고 서버에서 권한을 확인하지 않아 URL 을 직접 부르면 관리 기능이 실행된다 A5 '취약한 접근 통제'로 합침
A8 크로스 사이트 요청 변조(CSRF) 로그인한 피해자의 브라우저가 세션 쿠키 등 인증정보를 실은 위조된 요청을 취약한 사이트로 보내게 해, 사이트가 정당한 요청으로 처리하게 한다 → 크로스사이트 요청위조 삭제
A9 알려진 취약점이 있는 컴포넌트 사용 취약점이 공개된 라이브러리·프레임워크를 그대로 쓴다 A9 유지
A10 검증되지 않은 리다이렉트 및 포워드 검증하지 않은 파라미터로 다른 페이지로 보내 피싱·권한 우회에 쓰인다 삭제

헷갈리기 쉬운 항목

편집 원본 편집
  • XSS 와 CSRF — XSS 는 공격 스크립트가 사용자 브라우저에서 실행되어 쿠키 탈취 등을 노린다. CSRF 는 사용자가 의도하지 않은 요청이 서버에서 정당한 요청으로 처리되는 것(게시글 등록·비밀번호 변경·송금)이 피해다.
  • A2 와 A8 — 세션 토큰이 URL 에 노출되거나 로그아웃·타임아웃이 없어 세션을 빼앗기는 것은 A2, 세션을 빼앗지 않고 피해자의 살아 있는 세션으로 요청을 보내게 하는 것은 A8 이다.
  • A6 와 A9 — 민감한 데이터를 암호화하지 않은 것은 A6, 취약한 버전의 라이브러리를 쓰는 것은 A9 다.

2017년판의 변화

편집 원본 편집
  • 새로 들어감 : XML 외부 개체(XXE), 안전하지 않은 역직렬화, 불충분한 로깅 및 모니터링
  • 합쳐짐 : A4 + A7 → 취약한 접근 통제
  • 빠짐 : CSRF(프레임워크가 기본으로 토큰을 넣게 되면서 발견 빈도가 줄었다), 검증되지 않은 리다이렉트 및 포워드
  • 2013·2017년판 대조표는 OWASP Top 10(2017) 문서에 있다.
  • 「OWASP Top 10 – 2013: The Ten Most Critical Web Application Security Risks」, OWASP Foundation, 2013.