Journey to Security/웹 보안

DVWA 애플리케이션으로 웹 취약점 실습하기

Cordilog 2026. 5. 25. 16:47

1. DVWA란?

DVWA(Damn Vulnerable Web Application)는 의도적으로 취약하게 설계된 PHP/MySQL 기반 웹 애플리케이션이다.

합법적이고 통제된 환경에서 공격 기법과 도구를 테스트할 수 있도록 만들어졌으며, 보안 교육 플랫폼으로 활용된다.

핵심 특징은 다음과 같다.

  • Low / Medium / High / Impossible 4단계 난이도 제공
  • SQL Injection, XSS, CSRF, Command Injection 등 주요 웹 취약점 포함
  • 각 레벨의 소스코드를 직접 비교할 수 있는 "View Source / Compare All Levels" 기능

2. 환경 구성

 

docker run -d -p 80:80 vulnerables/web-dvwa

 

*현재 서버에서 80번 포트가 사용중이면 81, 82 등 다른 포트로 맵핑해도 된다.

 

컨테이너 기동 후 브라우저에서 접속하여 로그인한다.

  • Username: admin
  • Password: password

DVWA Security 메뉴에서 난이도를 선택한다.

 

선택한 난이도에 맞춰서 다음과 같은 취약점들에 대해 공격을 실습할 수 있다. 

 

- Brute Forcce

- Command Injection

- CSRF

- File Inclusion

- File Upload

- Insecure CAPTCHA

- SQL Injection

- Weak Session Ids

- XSS

- CSP Bypass

- JavaScript