Dựng Web Server kiểu “tàu nhanh” với với bộ đồ nghề XAMPP

Kết thúc nội dung Penetration Testing Step 3 – Nikto, web server scanner nhỏ mà có võ, kỳ này tôi xin tạm nghỉ phần Penetration Testing và đổi gió sang một nội dung khác là XAMPP – bộ đồ nghề bao gồm các giải pháp để dựng Web Server kiểu mì ăn liền. Phần này mới nghe qua thì có vẻ lạc đề nhưng thực ra sẽ liên quan rất nhiều đến công tác Penetration Testing, đặc biệt là đối với nhóm đối tượng thích chọc phá các mục tiêu Web Server nhưng sợ chịu trách nhiệm.

#1. Thế XAMPP là cái gì?

XAMPP là viết tắt của các yếu tố:

  • X – Cross Platform: Tức là khả năng chiến đấu đa nền tảng trên cả Windows, LinuxMac OS;
  • A – Apache: Đây là dạng Web Server phổ biến hiện nay;
  • M – MySQL/MariaDB: MySQL là hệ quản trị cơ sở dữ liệu quan hệ có số má hiện nay và MariaDB là một nhánh phát triển của MySQL;
  • P – PHP: Là ngôn ngữ lập trình kịch bản đa năng và đặc biệt phổ biến cho việc phát triển Web Server;
  • P – Perl: Cũng là ngôn ngữ kịch bản với thiết kế ban đầu dùng cho xử lý text nhưng hiện đã trở nên bá đạo với khả năng hoạt động trong nhiều lĩnh vực như system admin, web development hoặc network programming.
XAMPP site
XAMPP site

XAMPP hấp dẫn (với giới thích chơi chùa như tôi) vì đây giải pháp mã nguồn mở hoàn toàn miễn phí. Yếu tố quan trọng thứ hai đó là quá trình cài cắm triển khai sử dụng XAMPP cực kỳ gọn nhẹ vì tất cả việc bạn cần làm chỉ là truy cập trang để download và múc phiên bản cài đặt phù hợp về chấm mút.

Nếu bạn từng thiết lập Web Server theo kiểu triển khai chuẩn mực như LAMP (Linux – Apache – MySQL – PHP) thì chắc chắn bạn sẽ ngạc nhiên với độ “mì ăn liền” của XAMPP.

Lưu ý:

#2. Quá trình cài cắm và cấu hình XAMPP

#2.1 Download và cài cắm XAMPP

Để hốt hàng file cài đặt về thì bạn bơi vào XAMPP Installers and Downloads for Apache Friends và di chuyển đến vị trí download tương tự như sau.

XAMPP download
XAMPP download

Lưu ý:

Quá trình cài đặt cũng như các software thông thường khác nên tôi không nói thêm. Tuy nhiên, nó có thể hỏi bạn một số thứ linh tinh ví dụ như vị trí cài đặt hoặc đề nghị tắt User Account Control – UAC.

UAC warning
UAC warning

Nhìn chung, theo nguyên tắc chuẩn cmn mực (mặc dù có thể bạn đang test chơi) thì bạn méo nên tắt UAC hoặc cho nó quyền gì cả. Khi nào sử dụng, nếu cần cấp phép đến đâu thì bạn mần đến đó thôi cho chắc.

#2.2 Tinh chỉnh cấu hình port cho XAMPP

Sau khi hoàn thành quá trình cài đặt, bạn sẽ thấy giao diện kiểu như sau.

XAMPP UI
XAMPP UI

Vì mặc định Apache sẽ dùng port 80/443 nên nếu bạn có đang chạy các thứ liên quan (ví dụ Internet Information Services – IIS) thì bạn cần tắt hoặc cấu hình chuyển sang sử dụng port khác thông qua nút Config chỗ dòng tương ứng của Apache như hình trên. Tại chỗ này, bạn mở file httpd.conf và cập nhật lại thông số port tương ứng (tôi dùng port 8080) cho phần ListenServerName như bên dưới.

httpd.conf_1
httpd.conf_1
httpd.conf_2
httpd.conf_2

Sau đó bạn thử bấm Start ApacheMySQL. Nếu thấy màu xanh hy vọng như bên dưới là ngon ăn (bạn có thể thấy hiện Apache đã chuyển sang sử dụng port 8080 như tôi thiết lập).

XAMPP UI start services
XAMPP UI start services

Để kiểm tra, bạn có thể truy cập http://localhost:8080/dashboard/ từ máy đang cài đặt XAMPP thử. Nếu kết quả xuất hiện như sau là thành công rực rỡ.

XAMPP dashboard
XAMPP dashboard

#2.3 Tinh chỉnh cấu hình firewall cho XAMPP

Ở phía trên, dù đã thiết lập thành công, nhưng nếu dựng Web Server để Pentest mà bạn lại quanh quẩn trong Localhost thôi thì hình như hơi kỳ. Để thực tế hơn, tôi sẽ móc con hàng Kali Linux ra và truy cập theo IP thử xem có ăn được không. Nếu cũng tinh chỉnh lại port giống như tôi thì bạn sẽ cần kiểm tra đã thiết lập Inbound Rules cho port tương ứng và cho phép Apache HTTP Server hoạt động chưa.

Firewall rules
Firewall rules

Nếu mọi thứ ngon lành thì bạn sẽ thấy kết quả tương tự khi truy cập từ máy Kali Linux.

XAMPP dashboard from Kali
XAMPP dashboard from Kali

#2.4 Tinh chỉnh cấu hình truy cập phpMyAdmin của XAMPP

Trên con hàng Kali Linux, từ giao diện trên, nếu thử truy cập phpMyAdmin thì khả năng bạn sẽ gặp lỗi tương tự như sau.

XAMPP 403 error
XAMPP 403 error

Để xử lý vấn đề này, bạn sẽ cần mở Apache Config, chọn httpd-xampp.conf và cập nhật kiểu như sau.

httpd-xampp.conf
httpd-xampp.conf

Lúc này, truy cập lại, bạn sẽ thấy nó đập phát ăn ngay, bay thẳng vô giao diện quản trị mà không hỏi han thông tin đăng nhập gì sất. Thiết lập này chỉ phù hợp dạng test nhanh. Nếu bạn định chơi Pentest mà làm vậy thì hơi sai trái. Để thay đổi, từ giao diện của phpMyAdmin, bạn chọn tab User accounts sau đó có thể thiết lập Change password cho user root ứng với Host name localhost như sau rồi bấm Go để cập nhật.

XAMPP User account
XAMPP User account

Tiếp theo, bạn mở Apache Config, chọn config.inc.php và cập nhật kiểu như sau để yêu cầu sử dụng usernanme và password lúc đăng nhập.

config.inc.php
config.inc.php

Sau khi lưu các thay đổi và chạy lại, bạn thử truy cập lại phpMyAdmin và cung cấp mật khẩu tương ứng để kiểm tra xem các thiết lập đã mượt mà hết chưa.

XAMPP phpMyAdmin from Kali
XAMPP phpMyAdmin from Kali

Rồi, đến đây tôi xin dừng nội dung giới thiệu về quá trình cài đặt, thiết lập và tinh chỉnh XAMPP. Bạn chịu khó làm thử lại cho ngon trước đi nhé. Các kỳ kế tiếp tôi sẽ sắp xếp demo thêm một số nội dung Pentest dựa trên con hàng Web Server “nhà trồng” này đấy.

1 thought on “Dựng Web Server kiểu “tàu nhanh” với với bộ đồ nghề XAMPP”

Leave a Reply

Your email address will not be published. Required fields are marked *