Nikto와 OWASP ZAP을 사용한 웹 앱 스캔
Nikto와 OWASP ZAP의 능동 스캐너를 사용해 웹 애플리케이션의 일반적인 취약점을 검사합니다.
Nikto와 OWASP ZAP을 사용한 웹 앱 스캔은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
웹 애플리케이션 공격 표면
웹 애플리케이션은 URL 매개변수, 양식 필드, 쿠키, 헤더, 파일 업로드 및 API와 같이 복잡한 공격 표면을 노출합니다. 자동화된 스캐너는 이러한 모든 항목을 체계적으로 조사하여 일반적인 취약점을 찾습니다.
Nikto 기초
Nikto는 위험한 파일, 오래된 소프트웨어, 안전하지 않은 헤더 및 알려진 CVE를 확인하는 명령줄 웹 서버 스캐너입니다. 빠르고 간단하지만 많은 흔적을 남기므로 은밀하지 않습니다.
nikto -h http://target.com
# Key options:
# -h target host
# -p port (default 80)
# -ssl for HTTPS
# -Tuning to filter check types
# -o output file, -Format formatNikto 출력 해석
Nikto는 결과 앞에 +를 붙입니다. 노출된 관리자 인터페이스, 디렉터리 목록, 누락된 보안 헤더, 오래된 서버 버전 및 /phpinfo.php와 같은 잠재적으로 위험한 파일을 확인하십시오.
+ Server: Apache/2.4.49
+ /admin/: Admin login page found
+ /phpinfo.php: PHP info exposed
+ X-Frame-Options header missing
+ Allowed HTTP Methods: GET, POST, PUT, DELETEOWASP ZAP 개요
OWASP ZAP(Zed Attack Proxy)은 GUI와 API를 갖춘 모든 기능을 제공하는 웹 애플리케이션 보안 스캐너입니다. 프록시, 스파이더 및 능동 스캐너로 작동하므로 수동 검사와 자동 검사 모두에 적합합니다.
ZAP 프록시 설정
브라우저가 ZAP을 프록시(localhost:8080)로 사용하도록 구성하십시오. ZAP은 모든 트래픽을 캡처하여 사이트 맵을 만듭니다. 이 수동 단계에서는 공격 페이로드를 보내지 않고 정보를 수집합니다.
# Start ZAP
zap.sh
# Or headless CLI
zap.sh -daemon -port 8080
# Set browser proxy:
# HTTP: 127.0.0.1:8080ZAP 스파이더
스파이더는 링크와 양식 동작을 따라 애플리케이션을 크롤링합니다. AJAX 스파이더는 JavaScript를 많이 사용하는 단일 페이지 애플리케이션을 처리합니다. 두 방식 모두 능동 검사를 위한 전체 사이트 맵을 만듭니다.
# CLI spider
zap-cli spider http://target.com
# AJAX spider for SPAs
# Use GUI: Tools > AJAX SpiderZAP 능동 스캐너
능동 스캐너는 발견된 모든 입력에 공격 페이로드(SQL 인젝션, XSS, 경로 탐색)를 전송합니다. 위험 수준은 높음, 중간, 낮음 및 정보 제공으로 구분됩니다.
zap-cli active-scan --scanners all http://target.com
# Or via API
curl "http://localhost:8080/JSON/ascan/action/scan/?url=http://target.com"ZAP 경고 읽기
ZAP은 결과를 경고로 묶습니다. 각 경고에는 위험 수준, 신뢰도, 영향을 받는 URL, 사용된 공격 페이로드, 응답에서 확인된 증거 및 권장 해결 방법이 표시됩니다. 신뢰도가 높을수록 오탐이 적습니다.
CI/CD 파이프라인의 ZAP
ZAP은 파이프라인에서 자동 검사를 수행할 수 있는 Docker 이미지를 제공합니다. zap-baseline.py 스크립트는 CI에 적합한 수동 검사를 실행하고, zap-full-scan.py는 능동 검사를 실행합니다.
# Docker baseline scan (passive only)
docker run -t zaproxy/zap-stable \
zap-baseline.py -t http://target.com
# Full active scan
docker run -t zaproxy/zap-stable \
zap-full-scan.py -t http://target.comNikto와 ZAP 비교
Nikto는 간단하고 빠른 명령줄 도구로, 신속한 검사와 서버 수준 문제에 적합합니다. ZAP은 포괄적인 프록시 기반 도구로 복잡한 애플리케이션을 처리하며, 애플리케이션 수준의 취약점과 CI 통합에 더 적합합니다.
검사 범위와 권한
소유하고 있거나 서면 검사 권한을 받은 시스템만 검사하십시오. 피해를 입힐 의도가 없더라도 무단 검사는 법률(CFAA, Computer Misuse Act)과 서비스 약관을 위반할 수 있습니다.
빠른 확인
ZAP의 능동 스캐너는 수동 검사와 어떻게 다릅니까?
요약: 웹 검사 도구
Nikto는 몇 초 만에 빠른 서버 수준 결과를 제공합니다. ZAP은 프록시 가로채기, 스파이더링 및 능동 공격을 사용하여 심층적인 애플리케이션 수준 검사를 수행합니다. 두 도구 모두 사용 권한이 필요합니다. 성숙한 파이프라인에서는 배포할 때마다 ZAP 기준선 검사를 자동화하여 문제가 운영 환경에 도달하기 전에 회귀를 발견하십시오.
자주 묻는 질문
“Nikto와 OWASP ZAP을 사용한 웹 앱 스캔” 강의는 무료인가요?
네 — “Nikto와 OWASP ZAP을 사용한 웹 앱 스캔” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Nikto와 OWASP ZAP을 사용한 웹 앱 스캔”에서 뭘 배우나요?
Nikto와 OWASP ZAP의 능동 스캐너를 사용해 웹 애플리케이션의 일반적인 취약점을 검사합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“Nikto와 OWASP ZAP을 사용한 웹 앱 스캔” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- CVE, CWE와 CVSS 점수
- Nessus 또는 OpenVAS 스캔 실행
- Nikto와 OWASP ZAP을 사용한 웹 앱 스캔
- 발견 사항의 우선순위 지정과 개선