CentOS 8에 취약한 웹 애플리케이션을 설치하는 방법
이 페이지에서
- 전제 조건
- Apache, MariaDB 및 PHP 설치
- MariaDB 구성
- DVWA 다운로드
- SELinux 및 방화벽 구성\n
- DVWA 웹 UI 액세스
- 결론
"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를 성공적으로 설치했습니다. 이제 새로운 기술을 사용하여 일반적인 취약점을 해킹할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.