웹 애플리케이션 · 2 min read · Nov 09, 2025

CentOS 8에 Damn Vulnerable Web Application 설치하는 방법

DVWA는 “Damn Vulnerable Web App”이라고도 불리며, 무료 및 오픈 소스 취약한 웹 애플리케이션입니다. 보안 전문가들이 자신의 기술을 테스트하고 웹 애플리케이션 보안 프로세스를 이해하도록 설계되었습니다. 새로운 침투 테스트 도구를 실험하고 일반적인 취약점을 악용하기 위한 새로운 악용 기술을 연습할 수 있는 플랫폼을 제공합니다.

이 게시물에서는 CentOS 8 서버에 Damn Vulnerable Web App을 설치하는 방법을 보여드리겠습니다.

전제 조건

  • CentOS 8이 실행되는 서버.
  • 서버에 루트 비밀번호가 설정되어 있어야 합니다.

Apache, MariaDB 및 PHP 설치

DVWA는 PHP 및 MySQL 기반 애플리케이션입니다. 따라서 Apache 웹 서버, MariaDB, PHP 및 서버에 필요한 기타 확장 프로그램을 설치해야 합니다. 다음 명령어로 모두 설치할 수 있습니다:

dnf install httpd mariadb-server php php-pdo php-mysqlnd php-cli php-gd git -y

필요한 패키지가 모두 설치되면 다음 명령어로 php.ini 파일을 편집합니다:

nano /etc/php.ini

다음 줄을 변경합니다:

allow_url_fopen = On
allow_url_include = On
display_errors = Off

작업이 완료되면 파일을 저장하고 닫은 후 Apache 및 MariaDB 서비스를 시작하고 시스템 재부팅 시 시작하도록 활성화합니다:

systemctl start httpd  
systemctl enable httpd  
systemctl start mariadb  
systemctl enable mariadb

작업이 완료되면 다음 단계로 진행할 수 있습니다.

MariaDB 구성

다음으로, DVWA를 위한 데이터베이스와 사용자를 생성해야 합니다. 먼저, 다음 명령어로 MariaDB에 연결합니다:

mysql

연결되면 다음 명령어로 데이터베이스와 사용자를 생성합니다:

MariaDB [(none)]> create database dvwa;  
MariaDB [(none)]> grant all on dvwa.* to dvwa@localhost identified by 'password';

다음으로, 권한을 플러시하고 다음 명령어로 MariaDB에서 종료합니다:

MariaDB [(none)]> flush privileges;  
MariaDB [(none)]> exit;

작업이 완료되면 다음 단계로 진행할 수 있습니다.

DVWA 다운로드

먼저, Git 저장소에서 DVWA의 최신 버전을 다운로드해야 합니다. 다음 명령어로 다운로드할 수 있습니다:

git clone https://github.com/ethicalhack3r/DVWA /var/www/html/

다운로드가 완료되면 config 디렉토리로 이동하고 샘플 구성 파일을 복사합니다:

cd /var/www/html/config/  
cp config.inc.php.dist config.inc.php

다음으로, 다음 명령어로 구성 파일을 편집합니다:

nano /var/www/html/config/config.inc.php

아래와 같이 데이터베이스 세부정보를 정의합니다:

$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'dvwa';
$_DVWA[ 'db_password' ] = 'password'; 

# 다음에서 고유한 키를 생성해야 합니다: https://www.google.com/recaptcha/admin

$_DVWA[ 'recaptcha_public_key' ]  = '6LewiQgbAAAAAEZlwAfH88bpdk1n06gn_Qc2Cyhb';
$_DVWA[ 'recaptcha_private_key' ] = '6LewiQgbAAAAAMVHAi4wFAIt9150QqbgcOkRBSZ7';

작업이 완료되면 파일을 저장하고 닫습니다.

참고: Google 서비스에서 recapture 값을 생성할 수 있습니다.

다음으로, 다음 명령어로 Apache 루트 디렉토리에 적절한 권한과 소유권을 설정합니다:

chown -R apache:apache /var/www/html

다음으로, 변경 사항을 적용하기 위해 Apache 및 MariaDB 서비스를 재시작합니다:

systemctl restart mariadb httpd

이 시점에서 DVWA가 설치되고 구성되었습니다. 이제 다음 단계로 진행할 수 있습니다.

SELinux 및 방화벽 구성

기본적으로 CentOS 8에서는 SELinux가 활성화되어 있으므로 DVWA에 접근할 수 있도록 SELinux를 구성해야 합니다.

다음 명령어로 SELinux를 구성합니다:

setsebool -P httpd_unified 1  
setsebool -P httpd_can_network_connect 1  
setsebool -P httpd_can_network_connect_db 1

다음으로, 방화벽을 통해 포트 80을 허용해야 합니다. 다음 명령어로 허용할 수 있습니다:

firewall-cmd --permanent --zone public --add-port 80/tcp

다음으로, 변경 사항을 적용하기 위해 방화벽을 다시 로드합니다:

firewall-cmd --reload

이 시점에서 SELinux와 Firewalld가 DVWA를 허용하도록 구성되었습니다. 이제 다음 단계로 진행할 수 있습니다.

DVWA 웹 UI 접근

이제 웹 브라우저를 열고 URL http://your-server-ip/setup.php를 사용하여 DVWA 웹 인터페이스에 접근합니다. 다음 페이지로 리디렉션됩니다:

데이터베이스 설정

PHP 설정

다음으로, Reset/Database를 클릭하여 DVWA 데이터베이스 연결 설정을 구성합니다. 다음 페이지가 표시됩니다:

로그인

기본 사용자 이름: admin, 비밀번호: password를 입력하고 로그인 버튼을 클릭합니다. 다음 페이지에서 DVWA 대시보드를 볼 수 있습니다:

DWA 대시보드

결론

축하합니다! CentOS 8에 Apache와 함께 DVWA를 성공적으로 설치했습니다. 이제 일반적인 취약점을 해킹하기 위한 새로운 기술을 사용할 수 있습니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.