Phương pháp tấn công
Thu thập thông tin và phát hiện lỗ hổng SQL Injection
Trong giai đoạn thu thập thông tin, Thu thập thông tin về ứng dụng web, hệ điều hành, cơ sở dữ liệu và cấu trúc của các thành phần. Đánh giá thông tin trích xuất sẽ hữu ích cho xác định các lỗ hổng để khai thác.
Thông tin có thể được thu thập bằng cách sử dụng các công cụ và kỹ thuật khác nhau như chèn mã vào các trường nhập để quan sát phản hồi của các thông báo lỗi. Đánh giá trường nhập, trường ẩn, yêu cầu nhận và gửi, cookie, giá trị chuỗi và thông báo lỗi có thể tiết lộ đủ thông tin để khởi động cuộc tấn công.
Khởi chạy cuộc tấn công SQL Injection
Có thể bắt đầu cuộc tấn công SQL injection ngay sau khi thu thập thông tin về cấu trúc của cơ sở dữ liệu và các lỗ hổng được tìm thấy. Bằng cách khai thác chúng, việc tiêm có thể thành công.
Các cuộc tấn công như Union SQL injection, Error-based SQL injection, Blind SQL injection và các loại khác có thể được sử dụng để trích xuất thông tin từ cơ sở dữ liệu như tên cơ sở dữ liệu, bảng, cột, hàng và trường. Việc tiêm cũng có thể nhằm mục đích bỏ qua xác thực.
SQL Injection nâng cao
Việc chèn SQL nâng cao có thể bao gồm một danh sách các cơ sở dữ liệu như MySQL, MSSQL, MS Access, Oracle, DB2 hoặc Postgre SQL, các bảng và cột để xác định mức đặc quyền của người dùng, thông tin tài khoản của quản trị viên cơ sở dữ liệu và tiết lộ cấu trúc cơ sở dữ liệu.
Nó cũng bao gồm lấy mật khẩu và hàm băm, và chuyển cơ sở dữ liệu đến máy từ xa.
Kỹ thuật né tránh
Trốn tránh IDS
Để bảo mật cơ sở dữ liệu, nên triển khai cô lập ở một vị trí mạng an toàn với hệ thống phát hiện xâm nhập (IDS). IDS tiếp tục theo dõi mạng và lưu lượng máy chủ cũng như ứng dụng cơ sở dữ liệu. Kẻ tấn công phải tránh IDS để truy cập cơ sở dữ liệu, và sử dụng các kỹ thuật trốn khác nhau
Ví dụ, IDS sử dụng hệ thống Phát hiện dựa trên Chữ ký so sánh các chuỗi đầu vào với chữ ký để phát hiện xâm nhập. Bây giờ, tất cả những gì bạn phải làm là tránh sự phát hiện dựa trên chữ ký.
Các loại kỹ thuật trốn tránh chữ ký
- Chèn Nhận xét cùng dòng giữa các từ khóa
- Mã hóa ký tự
- Nối chuỗi
- Xáo trộn mã
- Thao tác với khoảng trắng
- Mã hóa Hex
- Kết hợp tinh vi
Biện pháp đối phó
Để giảm thiểu các cuộc tấn công SQL injection, có một số công cụ phát hiện có sẵn có thể được sử dụng. Các công cụ này thực hiện kiểm tra trang web và ứng dụng, đồng thời báo cáo dữ liệu, sự cố và hành động khắc phục. Một số công cụ nâng cao này cũng đề xuất mô tả kỹ thuật về vấn đề.