DVWA를 사용하기 위해서는 Apache 등 필수 패키지를 설치해야 한다.
yum install -y httpd mariadb-server php php-mysqli php-gd php-xml php-mbstring
# 부팅 시 Apache 자동 실행
systemctl enable httpd
# Apache 실행
systemctl start httpd
# Apache 상태 확인
systemctl status httpd
# 부팅 시 Mariadb 자동 실행
systemctl enable mariadb
# Mariadb 실행
systemctl start mariadb
# Mariadb 상태 확인
systemctl status mariadb
Mariadb에 로그인하면, 초기 Password는 설정하지 않았기 때문에 Password를 묻는 질문이 나오면 Enter를 입력한다.
mysql -u root -p
# 데이터베이스 dvwa 생성
CREATE DATABASE dvwa;
# dvwauser라는 계정을 생성하고, Password를 password로 설정
CREATE USER 'dvwauser'@'localhost' IDENTIFIED BY 'password';
# 데이터베이스 dvwa에 대한 모든 권한을 dvwauser에게 부여
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwauser'@'localhost';
# 변경된 권한 설정을 데이터베이스 서버에 즉시 적용
FLUSH PRIVILEGES;
# Mariadb 세션 종료
EXIT;
DVWA에는 여러 가지 버전이 있지만, 유일하게 지원되는 버전은 공식 GitHub 저장소에서 제공하는 최신소스이다.
# html 폴더로 이동
cd /var/www/html
# DVWA 소스 코드 다운로드
git clone https://github.com/digininja/DVWA.git
만약 git clone을 사용할 수 없는 경우에는 패키지를 설치한다.
yum install -y git
# DVWA 설정 파일 폴더로 이동
cd DVWA/config/
# DVWA 설정 파일 탬플릿을 복사
cp config.inc.php.dist config.inc.php
복사한 config.inc.php 파일을 열어 아래와 같이 4. DVWA에서 사용할 데이터베이스 생성 부분에서 생성한 정보로 수정한다.
# /var/www/html/DVWA/ 하위에 존재하는 모든 파일들의 파일 소유권을 apache로 변경
chown -R apache:apache /var/www/html/DVWA/
# /var/www/html/DVWA/ 하위에 존재하는 모든 파일들의 권한을 755로 변경
chmod -R 755 /var/www/html/DVWA/
/etc/php.ini 파일을 열어 allow_url_include 값을 On으로 변경한다.
vi /etc/php.ini
원격 파일 포함 (RFI)을 허용하려면 | allow_url_includ = On, allow_url_fopen = On |
PHP가 모든 오류 메시지를 표시하도록 하려면 | display_errors = On, display_startup_errors = On |
모든 설정을 마쳤으면, Apache를 재시작한다.
systemctl restart httpd
별다른 설정을 하지 않았다면, Firewall에서는 http 서비스를 차단하고 있기 때문에 http Port를 허용해줘야 한다. Firewall에서 허용해 주지 않으면 localhost레서는 DVWA에 접근이 가능하나 외부에서는 접근이 불가능하다. (Firewall을 중지하고 사용해도 무방함)
# Firewall 상태 확인
firewall-cmd --state
# 영구적으로 http 서비스 허용
firewall-cmd --add-service=http --permanent
# Firewall 재로드
firewall-cmd --reload
웹 브라우저에서 http://[DVWA가 설치된 시스템IP]/DVWA를 입력하면 DVWA 로그인 페이지가 나타나며, Username : admin, Password : password를 입력하면 초기 세팅 페이지를 확인할 수 있다.
DVWA : Brute Force - Low level (0) | 2024.12.28 |
---|---|
DVWA (Damn Vulnerable Web Application) 초기 세팅 하기 (1) | 2024.12.28 |
도커(Docker)를 이용하여 DVWA (Damn Vulnerable Web Application)설치 (1) | 2024.12.27 |
Blind SQL Injection Cheatsheet (블라인드 SQL 인젝션 Cheatsheet) (0) | 2022.02.11 |
HTTP Methods 확인 (0) | 2016.07.11 |