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
'Journey to Security > 웹 보안' 카테고리의 다른 글
| DVWA 문제풀이: Command Injection (0) | 2026.05.25 |
|---|---|
| DVWA 문제풀이: Netcat을 이용한 Reverse Shell 공격 (0) | 2026.05.25 |
| [SQLi] 취약한 웹앱 공격 실습 (2) UNION-based 데이터 탈취 (0) | 2026.05.21 |
| [SQLi] 취약한 웹앱 공격 실습 (1) 로그인 우회 (0) | 2026.05.16 |
| [SQLi] 취약한 실습용 웹 애플리케이션 만들기 (Claude AI 이용) (0) | 2026.05.16 |