쟝이의 세상
OWASP ZAP 본문
OWASP
전 세계적으로 보안 전문가들이 보안 취약점 진단 기준과 표준을 수립하고, 웹 어플리케이션 보안 관련 문서를 배포하고 보안 취약점 관련 툴을 개발하는 오픈소스 커뮤니티
OWASP TOP 10
: 웹 어플리케이션 취약점 중에서 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 10가지 취약점과 그 취약점에 대한 조치 방법을 정리하여 공유하는 프로젝트
(2004년, 2007년, 2010년, 2013년, 2017년을 기준으로 3년에 한 번씩 발표되었다.)
OWASP ZAP
오픈 소스 웹 애플리케이션 보안 스캐너
(개발 단계에서 개발자가 손쉽게 스스로 보안 취약점을 발견하고 조치할 수 있도록 하는 오픈소스 제품)
< 취약점 진단 과정 >
- 프록시 설정
- OWASP ZAP을 프록시 서버로 지정
→ 클라이언트와 서버 사이의 모든 트래픽을 중간에서 가로채고 기록
- OWASP ZAP을 프록시 서버로 지정
- 트래픽 가로채기 및 분석
- 사용자가 웹 애플리케이션과 상호작용하는 동안 모든 요청과 응답을 가로채고 이를 분석
→ 취약한 파라미터나 구조적 문제를 발견할 수 있음
- 사용자가 웹 애플리케이션과 상호작용하는 동안 모든 요청과 응답을 가로채고 이를 분석
- 수동 공격 및 자동화된 스캔
- 수동으로 특정 취약점을 테스트 or 자동 스캐너를 통해 웹 애플리케이션 전반을 스캔
- 취약점 진단 및 리포팅
- 가로챈 요청 및 응답을 바탕으로 SQL Injection, XSS, CSRF 등 다양한 취약점을 분석하여 리포트
< 탐지 가능한 취약점 >
- SQL Injection
- 입력 값을 제대로 검증하지 않아 데이터베이스 쿼리에 악의적인 SQL 구문이 포함될 수 있는 취약점
- XSS(Cross-Site Scripting)
- 악성 스크립트가 웹 페이지에 삽입되어 사용자 브라우저에서 실행될 수 있는 취약점
→ 주로 세션 하이재킹이나 악성 코드 실행에 이용
- 악성 스크립트가 웹 페이지에 삽입되어 사용자 브라우저에서 실행될 수 있는 취약점
- CSRF(Cross-Site Request Forgery)
- 사용자의 권한을 도용해 사용자 모르게 웹 애플리케이션에 요청을 보내 공격자가 의도한 동작 수행하게 만드는 취약점
- 파일 포함 공격(File Inclusion)
- 외부 파일 로드 시, 사용자 입력 값을 통해 공격자가 악성 파일을 포함시킬 수 있는 취약점
- 디렉토리 트래버설(Directory Traversal) = 패스 트래버설(Path Traversal)
- 사용자 입력을 통해 파일 경로 처리 시, 공격자가 잘못된 경로 검증을 악용해 서버의 민감한 파일에 접근할 수 있는 취약점
- 취약한 인증 및 세션 관리(Insecure Authentication & Session Management)
- 인증 체계가 취약해져 세션 하이재킹이나 불법 접근이 발생할 수 있음
- 정보 노출(Information Disclosure)
- 에러 메시지, 디버그 정보, 서버 구성 정보 등이 노출되어 공격자가 이를 악용할 수 있는 취약점
- 취약한 보안 설정
- 적절한 보안 설정이 이루어지지 않아 발생하는 문제
- 브루트 포스 공격
- 비밀번호나 세션 ID와 같은 민감한 데이터를 무작위로 시도해 찾는 공격
- 서버 측 요청 위조(SSRF, Servre-Side Request Forgery)
- 서버가 외부 리소스에 요청을 보낼 때 악용할 수 있는 취약점
→ 서버가 내부 시스템에 접근 가능
- 서버가 외부 리소스에 요청을 보낼 때 악용할 수 있는 취약점
- 미사용 자원의 노출(Exposed Resouces)
- 공개되어서는 안 될 API나 관리 페이지 등과 같은 자원이 노출되어 발생할 수 있는 취약점
< 간단한 게시판 소스를 바탕으로 OWASP ZAP 실행 >
실행할 URL을 입력하여 스캔하면 경고 창을 통해 어떤 보안 취약점이 있는지 확인할 수 있다.
--> 경고 창을 통해 소스코드에 보안을 더 적용
'수업내용' 카테고리의 다른 글
Kubernetes(POD, Deployment, ReplicaSet, Service 생성) (1) | 2024.09.27 |
---|---|
쿠버네티스 개념 정리 (1) | 2024.09.25 |
php <form태그와 변수값 전달> (6) | 2024.09.03 |
php <배열과 함수> (2) | 2024.09.02 |
php <조건문 switch, 반복문> (0) | 2024.08.29 |