참조
🔗 https://github.com/digininja/DVWA
🔗 https://askubuntu.com/questions/223237/unable-to-correct-problems-you-have-held-broken-packages
🔗 https://www.golinuxcloud.com/install-dvwa-kali-linux/
보안 및 침투 테스트에 사용되는 데비안 계열의 리눅스 배포판으로 많은 툴과 메뉴얼이 존재하는데 법적인 목적으로 사용해야 하며 불법적으로 사용해서는 안 된다.
다운로드가 완료되면 압축해제
Oracle VM VirtualBox
실행새로 만들기
클릭Kali Linux
가상머신 선택→ 시작
클릭터미널 실행
단축키Ctrl
+Alt
+T
또는 상단에 터미널 아이콘 선택
# 현재 경로 확인
$ pwd
# ip 확인
$ ifconfig
# ping 확인
$ ping ip주소
# 설치된 패키지 확인
$ dpkg --get-selections
# 패키지를 다운로드 받기 전 항상 해주는 것이 좋다.
# 설치 가능한 리스트를 업데이트 하기 위함
sudo apt update
# apache2 설치
sudo apt install apache2
# 서버 시작
sudo service apache2 start
# 서버 중단
sudo service apache2 stop
# 서버 재시작
sudo service apache2 restart
# OS 시작 시 자동 시작
sudo systemctl enable apache2
# OS 시작 시 자동 시작
sudo systemctl disable apache2
# 패키지 상태 확인
$ sudo service 패키지명 status
# 패키지 상태 변경(시작|정지)
$ sudo service 패키지명 start | stop
# DVWA 레포지터리 복제
$ sudo git clone https://github.com/digininja/DVWA
# 복제된 레포지터리 폴더명 DVWA → dvwa 변경
$ sudo mv DVWA dvwa
# config.inc.php.dist 파일 복제
$ sudo cp config.inc.php.dist config.inc.php
# nano로 실행
$ sudo nano config.inc.php
...
$_DVWA = array();
$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_port'] = '3306';
...
$ sudo apt install mariadb-server
# mysql 관리자로 접속
$ sudo mysql -u root -p
# 특정 유저로 mysql 접속
$ sudo mysql -u 유저명 -p비밀번호
# DB생성
MariaDB [(none)]> create database dvwa;
Query OK, 1 row affected (0.000 sec)
# 이름이 'dvwa' 비밀번호가 'pass'인 사용자 만들기
MariaDB [(none)]> create user 'user'@'127.0.0.1' identified by 'pass';
# 'user'라는 사용자에게 테이블 'dvwa'에 대한 모든 권한을 부여
MariaDB [(none)]> grant all privileges on dvwa.* to 'user'@'127.0.0.1' identified by 'pass';
Query OK, 0 rows affected (0.005 sec)
# MySql의 캐시를 지우고 새로운 설정을 적용하기 위해서 사용되는 명령어
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
# 사용자 조회
MariaDB [(none)]> SELECT user, host FROM mysql.user WHERE user='user' AND host='127.0.0.1';
+------+-----------+
| User | Host |
+------+-----------+
| user | 127.0.0.1 |
+------+-----------+
1 row in set (0.031 sec)
# 사용자 권한 조회
MariaDB [(none)]> show grants for 'user'@'127.0.0.1';
+-------------------------------------------------------------------------------------------------------------+
| Grants for user@127.0.0.1 |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `user`@`127.0.0.1` IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7' |
| GRANT ALL PRIVILEGES ON `dvwa`.* TO `user`@`127.0.0.1` |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.002 sec)
기존에 php
로 만들어진 웹은 php 7.x
버전으로 구축되었기 때문에 php7.4
버전을 설치하고자 했으나 아래와 같이 패키지 의존성 문제가 있다는 에러 메세지가 발생된다.
내 경우 이 패키지 의존성 문제를 해결하지 못해 8.2버전으로 설치했다.
# php 최신버전 설치
$ sudo apt install php
# php 8.2버전 설치
$ sudo apt install php8.2
# 서버 시작
$ sudo service apache2 start
username : dvwa
password : p@sswOrd