Skip to main content
  1. Teches/

Step by Step DVWA Installation for Web App Hacking

·4 mins· ·
Docker Docker DVWA Web
Wildan
Author
Wildan
An Ordinary Human Being

Intro
#

Saya akan meng-install DVWA (Damn Vulnerable Web Apps) sebagai tempat berlatih hacking website. DVWA memang didesain untuk melakukan uji penetrasi (penetration testing) dan eksploitasi beberapa kerentanan yang umumnya banyak ditemukan di aplikasi web, seperti Command Injection, SQL Injection, XSS atau Cross Site Scripting, dan lain sebagainya. Jadi, DVWA adalah aplikasi web yang sengaja dirancang agar rentan terhadap serangan-serangan yang saya sebutkan sebelumnya tadi.

Nah, di artikel ini, saya akan meng-install DVWA via Docker & manual dari repo Github.

Instalasi DVWA via Docker
#

Apa itu Docker?
Docker adalah platform open source untuk meng-create, me-manage, dan men-deploy aplikasi dalam sebuah container. Sederhananya, docker adalah sebuah container. Berikut adalah ilustrasi dari container dan docker.

Docker and Container Visualization

Note:
Lebih lanjut tentang docker dan container: https://www.docker.com/resources/what-container/

Berikut adalah langkah-langkah pemasangan DVWA via docker:1
1. Install docker.
2. Pull DVWA’s docker image.
3. Run DVWA’s docker image.
4. Login with default creds.
5. Create database.
6. Set difficulty level.
7. Play and have fun!

WARNING This image is vulnerable to several kinds of attacks, please don’t deploy it to any public servers.

1. Install Docker
#

sudo apt -y update && 
sudo apt -y install docker.io &&

sudo systemctl start docker && sudo systemctl status docker

Credit to digininja sebagai maintainer DVWA di Github.

2. Pull DVWA’s docker image
#

sudo docker pull vulnerables/web-dvwa

3. Run DVWA’s docker image
#

sudo docker run --rm -it -p 80:80 vulnerables/web-dvwa

4. Login with default creds
#

admin:password

DVWA Login Page

5. Create database
#

Creating Database

6. Set difficulty level
#

Silakan atur difficulty level-nya sesuai kebutuhan, bisa diatur mulai dari low, medium, high, hingga impossible. Low artinya security web-nya sangat rendah alias website sangat rentan, sebaliknya impossible artinya security-nya sangat tinggi sehingga sangat sulit untuk diretas.

Saya akan atur ke low.

7. Play and have fun!
#

Selesai!

Kita berhasil meng-install DVWA via docker. Nantikan artikel-artikel saya berikutnya terkait web hacking ya!

Default DVWA Login Creds:
username: admin
password: password

Instalasi DVWA via Github
#

Berikut adalah langkah-langkah pemasangan DVWA via Github:[^2,^3]

1. Install required packages. 2. Clone repo. 3. Move DVWA directory to /var/www/html. 4. Copy config.inc.php.dist to config.inc.php. 5. Create new database user. 6. Edit some PHP configs. 7. Change permission to writable to some dirs.

1. Install required packages
#

Kita perlu meng-install (atau meng-update) beberapa packages:

Note: Langkah-langkah ini diasumsikan dilakukan di Debian-Ubuntu based distro, jadi, kalau kalian menggunakan distro linux yang lain, silakan disesuaikan.

sudo apt update &&
sudo apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php

2. Clone repo
#

Berikut adalah repository Github resmi DVWA: https://github.com/digininja/DVWA

git clone https://github.com/digininja/DVWA.git

3. Move DVWA directory to /var/www/html
#

Kita pindahkan direktori DVWA yang sudah berhasil di-clone dari Github ke direktori Apache2:

mv DVWA/ /var/www/html/

4. Copy config.inc.php.dist to config.inc.php
#

cd DVWA;
cd config; 

cp config.inc.php.dist config.inc.php

5. Create new database user
#

Sekarang, kita perlu membuat database baru untuk DVWA:

Log in dulu ke MariaDB:

sudo systemctl start mysql && sudo systemctl status mysql

sudo su -
mysql

Tambahkan user dan password baru untuk DVWA, pastikan sesuai dengan konfigurasi yang ada di /var/www/html/DVWA/config/config.inc.php:

ss4
config.inc.php

create database dvwa;
create user dvwa@localhost identified by 'p@ssw0rd';
grant all on dvwa.* to dvwa@localhost;
flush privileges; 

Pastikan perintah-perintah penambahan database DVWA tersebut dilakukan satu persatu sambil memperhatikan response dari mysql/mariadb-nya.

ss5
adding DVWA database

6. Edit some PHP configs
#

Selanjutnya, kita akan mengedit beberapa config PHP untuk memaksimalkan fungsionalitas DVWA sebagai target kita nanti. File PHP yang perlu diedit yaitu /etc/php/$(PHP version)/apache2/php.ini:

Enable-kan 3 fungsi “allow_url_include”:

allow_url_include = Open

7. Change permission to writable to some dirs
#

Terakhir, kita perlu memberikan akses tulis (writable) untuk kedua direktori berikut:

  1. /var/www/html/DVWA/hackable/uploads/
  2. /var/www/html/DVWA/config/
sudo chown www-data /var/www/html/DVWA/hackable/uploads/
sudo chmod 777 /var/www/html/DVWA/hackable/uploads/

sudo chown www-data /var/www/html/DVWA/config/

ss6
change some dirs permissions

Kemudian, jalankan apache2:

sudo systemctl start apache2

Dan DVWA kita sudah bisa diakses di url berikut: http://$IP ADDRESS:80/DVWA

Selanjutnya, kita sudah bisa login, melakukan set up database, dan menyesuaikan difficulty level-nya. Setelah itu, kita sudah bisa bermain dengan lab DVWA kita!!

Default DVWA Login Creds:
username: admin
password: password

Related

A Classic yet Nostalgic Music Player: NCMPCPP
·5 mins
Ncmpcpp Music Player Mpd Ncmpcpp
Intro # NCurses Music Player Client Plus Plus adalah nama panjang dari NCMPCPP.
SSH without Password?
·3 mins
Ssh Ssh Password
Too lazy to input your SSH password while doing routine task? Here is the solution…
FFmpeg - Convert Any Video Format to MP4
·1 min
Ffmpeg Ffmpeg Tutorial Video Format
If you have ffmpeg installed on your Linux machine, then it actually could help you to convert any video format to MP4!