DVWA là gì ? Damn Vulnerable Web Application là gì ?

Cuongquach.comHacking/Pentest Ứng dụng WebSeries “Thực hành bảo mật ứng dụng web với DVWA”Phần 1: DVWA là gì ?

Nằm trong Series “Thực hành bảo mật ứng dụng web với DVWA“, mình sẽ giới thiệu sơ lược về mã nguồn ứng dụng web có chứa lổ hổng phổ biến dùng trong thực hành khai thác bảo mật Web Application. Đó chính là ‘DVWA – Damn Vulnerable Web Application‘ .

Giới thiệu ‘DVWA’

Damn Vulnerable Web Application (DVWA) là một ứng dụng mã nguồn PHP/MySQL tập hợp sẵn các lỗi logic về bảo mật ứng dụng web trong mã nguồn PHP. Lỗi logic khi lập trình có thể áp dụng đối với các loại ngôn ngữ lập trình nhằm giảm thiểu khả năng tạo ra lổ hổng bảo mật từ tư duy lập trình chưa cẩn thận. Mục tiêu chính của DVWA đó là tạo ra một môi trường thực hành hacking/pentest hợp pháp. Giúp cho các nhà phát triển ứng dụng web hiểu hơn về hoạt động lập trình an toàn và bảo mật hơn. Bên cạnh đó DVWA cũng cung cấp cho các thầy cô/học sinh phương pháp học và thực hành tấn công khai thác lỗi bảo mật ứng dụng web ở mức cơ bản và nâng cao.

dvwa logo

Project DVWA đã được khai sinh từ tháng 12/2008 và phát triển rất nhanh chóng cũng như phủ độ nổi tiếng trong giới học sinh/developer khi tìm kiếm các mã nguồn cho phép thực hành hacking. Mà nhìn chung thì những năm gần đây (2016-2017), DVWA đã không phát triển thêm nhiều nội dung lổ hổng bảo mật hấp đẫn nữa.

Cảnh báo

DVWA có chứa nhiều lỗ hổng bảo mật ở nhiều hạng mục vì vậy không nên sử dụng public như upload lên hệ thống nhà cung cấp hosting hay web server chạy trên Internet. Vì sẽ dẫn đến nguy cơ bị kẻ xấu khai thác trực tiếp hệ thống VPS/Hosting qua các lổ hổng thực hành này. Chính vì thế bạn chỉ nên cài đặt ở môi trường nội bộ như Máy chủ ảo/Web server local.

Cuongquach.com , không chịu trách nhiệm đối với việc sử dụng kiến thức thực hành khai thác bảo mật web sử dụng cho mục đích xấu.

Môi trường cài đặt

DVWA là ứng dụng mã nguồn PHP và Cơ Sở Dữ Liệu là MySQL, nên bạn có thể cài đặt dịch vụ ‘XAMPP’ trên cả Linux hoặc Windows để tạo môi trường thực hành nhanh chóng. Hoặc bạn có thể cài đặt hệ thống web server LAMP/LEMP trên CentOS/Ubuntu để thực hành.

Các lổ hổng trong DVWA

Khi bạn thực hành với DVWA, bạn sẽ có những nhóm lổ hổng bảo mật như sau:
• Brute Force
• Command Execution
• Cross Site Request Forgery (CSRF)
• File Inclusion
• SQL Injection
• Insecure File Upload
• Cross Site Scripting (XSS)
• Easter eggs

Các mức độ bảo mật trong DVWA

DVWA cung cấp 3 mức độ bảo mật tương ứng 3 level để bạn thực hành từ dễ cho đến khó gồm :

High : level này gần như là level dùng để so sánh mã nguồn có lổ hổng ở mức ‘low’ và ‘medium’ với mã nguồn đã được tối ưu ở mức an toàn bảo mật. Mức độ ‘high’ sẽ được đánh giá là có thể bao quát phần nhiều lổ hổng ở nhóm mục bạn đang thực hành.
Medium : mức độ này cung cấp nội dung logic code đã fix lổ hổng cơ bản ở hạng mục mức ‘low’. Nhưng liệu bạn vẫn có thể khai thác được thêm hay không?
Low : mức độ thấp nhất trong thang level bảo mật mà DVWA cung cấp đến các bạn. Với mức độ ‘low’ thì mã nguồn PHP gân như phơi bày khả năng khai thác lổ hổng qua tư duy lập trình chưa bao quát vấn đề bảo mật.

Đối với mỗi trang thực hành bảo mật sẽ luôn có nút ‘view source‘. Nút này được sử dụng để xem nội dung source code của các mức bảo mật ứng mổi hạng mục, để từ đó bạn có thể so sánh, đánh giá lý do tại sao mã nguồn này lại phơi bày ra lổ hổng bảo mật như vậy. Ví dụ hình dưới:

Như vậy các nội dung ở trên là nội dung mở đầu và giới thiệu về ‘DVWA – Damn Vulnerable Web Application‘ – “DVWA là gì?” trong Series Thực hành bảo mật ứng dụng web với DVWA . Hy vọng các bạn đón đọc các phần kế tiếp :

 

Previous articleFix error EPEL Repo “Cannot retrieve metalink for repository” on CentOS
Next article4 công cụ online kiểm tra hiệu suất website
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 !