Cài đặt mã nguồn DVWA thực hành khai thác lỗi web

Bài hướng dẫn này sẽ giúp các bạn cài đặt mã nguồn DVWA nhằm mục đích thực hành khai thác các lỗi pentest cơ bản mà DVWA xây dựng sẵn cho các bạn. DVWA là gì ? Là một bộ mã nguồn source code PHP được thiết kế để tồn tại các lỗ hổng ở mức ứng dụng web và sử dụng cho các quản trị viên hoặc những ai yêu thích bảo mật tham khảo và thực hành. Điều lưu tâm rằng, đây đều là các mức khai thác lỗi cơ bản đến khi đụng thực tế thì mọi thứ không dễ như các bạn tưởng.

Với hướng dẫn cài đặt thì chúng ta cần cài đặt 3 dịch vụ gồm dịch vụ CSDL MySQL/MariaDB, web server Apache/ Nginx và PHP. Các hướng dẫn cài đặt 3 dịch vụ trên các bạn có thể tìm hiểu trước để xây dựng sẵn cho mình cả 3 dịch vụ, hiện tại vào thời điểm viết bài thì website của mình chưa có các bài hướng dẫn cài đặt các dịch vụ đấy. Mong các bạn thông cảm, mình sẽ lấy ví dụ link source site DVWA sẽ truy cập ở địa chỉ 192.168.1.100 :

1. Download mã nguồn của DVWA

Trang chủhttp://dvwa.co.uk
Githubhttps://github.com/ethicalhack3r/DVWA

1.1 Cài đặt mã nguồn

# cd /var/www/html/
# wget https://github.com/ethicalhack3r/DVWA/archive/v1.9.zip
# unzip v1.9.zip
# cd DVWA-1.9
# mv ./* ../
# ls /var/www/html/
about.php COPYING.txt external ids_log.php login.php php.ini security.php
CHANGELOG.md docs favicon.ico index.php logout.php README.md setup.php
config dvwa hackable instructions.php phpinfo.php robots.txt vulnerabilities

1.2 Thiết lập PHP.ini config

Do sử dụng để thực hành lổ hổng bảo mật, nên các cấu hình PHP.ini config nên được cấu hình cho phép như sau để thuận tiện trong việc khai thác lổ hổng.

allow_url_include = on
allow_url_fopen = on
safe_mode = off
magic_quotes_gpc = off
display_errors = off
shell_exec = (để trống)

2. Khởi tạo database và user cho DVWA

# mysql -u root -p
Enter password :
MariaDB [(none)]> CREATE DATABASE dvwa_db;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON dvwa_db.* TO 'dvwa_admin'@'localhost' IDENTIFIED BY 'dvwapass';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Chú thích:

  • dvwa_db : tên database dành cho source DVWA
  • dbwa_admin : tên user full quyền đối với database name “dvwa_db”
  • dvwapass : là mật khẩu của user “dvwa_admin”, chứng thực kết nối vào CSDL.
  • localhost : địa chỉ máy chủ MySQL

3. Cấu hình config của DVWA

Chúng ta cấu hình thông tin truy cập CSDL của DVWA cho chính xác với những thông tin đã tạo trên. Giả sử source code nằm ở thư mục ‘/var/www/html/’ .

# vi /var/www/html/config/config.inc.php
# Database variables
# WARNING: The database specified under db_database WILL BE ENTIRELY DELETED during setup.
# Please use a database dedicated to DVWA.

$_DVWA = array();
$_DVWA[ 'db_server' ] = 'localhost';
$_DVWA[ 'db_database' ] = 'dvwa_db';
$_DVWA[ 'db_user' ] = 'dvwa_admin';
$_DVWA[ 'db_password' ] = 'dvwapass';

4. Thiết lập Database cơ bản của DVWA

Truy cập đường dẫn link:  http://192.168.1.100/setup.php

Nhấn “Create/Reset Database” như vậy là trong CSDL của DVWA sẽ có 2 table duy nhất là “guestbook” dành cho lỗi XSS và “users” dành cho các lỗi khác.

5. Truy cập web DVWA bắt đầu thực hành

Từ lúc này bạn đã có thể truy cập http://192.168.1.100/login.php để đăng nhập và thực hành khai thác lỗi do DVWA mang đến.

Tài khoản mặc định sẽ là : admin/password

Vậy là chúng ta đã hoàn thành phần cài đặt mã nguồn DVWA cho việc thực hành khai thác lỗi bảo mật ứng dụng web. Mình sẽ cập nhật các nội dung kế sau này. Cám ơn các bạn đã xem.

Previous article[CEH Exam] Questions 1 – 30
Next articleThay đổi mật khẩu user trong MySQL Server
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !