Thực hành khai thác lỗi SQL injection với Sqli-labs
SQL injection là một phương pháp cho phép hacker lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào của Website và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp. SQL injection giúp cho các Hacker thực hiện các lệnh như select, insert, update, delete v.v. ngay trên trình duyệt web, thậm chí là server mà ứng dụng đó đang chạy.
Mặc dù, đã trải qua rất nhiều năm kể từ khi lỗ hổng SQLi đầu tiên được phát hiện.SQLi vẫn là lỗ hổng rất phổ biến trong ứng dụng web. Hầu như các vụ đánh cắp thẻ tín dụng (CC) đều được khai thác từ lỗ hổng này. Trước đây các Shop bán hàng Online hầu như bị khai thác SQL injection để đánh cắp thông tin của người mua hàng. Bây giờ thì đỡ hơn nhiều rồi.
Nhằm mục đích trau dồi kỹ năng phát hiện lỗ hổng SQLi. Thành viên DDos (của diễn đàn WhiiteHat) giới thiệu tới các bạn sqli-labs project. Project này bao gồm 65 bài lab khác nhau với độ khó tăng dần. Nội dung của sqli-labs bao gồm gần như tất cả các con đường có thể dẫn tới lỗi SQLi như: GET/POST request, User-Agent…
Thực hành khai thác lỗi SQL injection với Sqli-labs
Để cài đặt sqli-lab, các bạn cần:
- PHP
- MySQL
- Apache server
Bạn có thể cài phần mềm Xamp (bản 5.6) hoặc Ampp để giả lập môi trường PHP, MySQL trên Windows. Hoặc thực hành ngay trên máy ảo Linux (Centos, Ubuntu, Kali Linux).
Mình sẽ hướng dẫn các bạn thực hành trên Windows với phần mềm giả lập Xampp.
Bước 1: Tải Xamp (dùng bản 5.6)về và tiến hành cài đặt như bình thường.
Xóa tất cả các file trong thư mục: C:xampphtdocs
Bước 2: Mở Xampp Contorl Panel lên
Nhấn vào nút Start Apache, MySQL. (Nếu Start không được thì xem cách fix lỗi ở bài này)
Bước 3: Bạn tải gói cài đặt Sqli-labs tại link bên dưới
Bước 4: Giải nén file vừa tải về, và copy vào thư mục C:xampphtdocs
Bước 5: Truy cập vào đường dẫn http://localhost trên trình duyệt Web.
Click vào Setup/reset Database for labs để bắt đầu cài đặt dữ liệu cho Sqli-labs
Nếu bạn thấy như hình bên dưới thì đã cài thành công.
Bước 6: Quay trở lại trang chủ localhost và click vào SQLi-LABS Page-1(Basic Challenges) để bắt đầu học từ bài 1.
Nếu bạn cảm thấy khó khăn trong việc thực hành các bài tập của SQLi-Labs, hãy xem các kênh hướng dẫn trên Youtube.