웹사이트 검색

CentOS 8에 취약한 웹 애플리케이션을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. Apache, MariaDB 및 PHP 설치
  3. MariaDB 구성
  4. DVWA 다운로드
  5. SELinux 및 방화벽 구성\n
  6. DVWA 웹 UI 액세스
  7. 결론

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

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

전제 조건

  • CentOS 8을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

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 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'; 

# You'll need to generate your own keys at: https://www.google.com/recaptcha/admin

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

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

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

다음으로 다음 명령을 사용하여 Apache 루트 디렉터리에 적절한 권한과 소유권을 설정합니다.

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

다음으로 Apache 및 MariaDB 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart mariadb httpd

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

SELinux 및 방화벽 구성

기본적으로 SELinux는 CentOS 8에서 활성화되어 있으므로 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 웹 인터페이스에 액세스하십시오. 다음 페이지로 리디렉션됩니다.

그런 다음 재설정/데이터베이스를 클릭하여 DVWA 데이터베이스 연결 설정을 구성합니다. 다음 페이지가 표시됩니다.

기본 사용자 이름: admin, 비밀번호: password를 제공하고 로그인 버튼을 클릭합니다. 다음 페이지에 DVWA 대시보드가 표시되어야 합니다.

결론

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