Để đảm bảo cơ sở dữ liệu được bảo vệ khỏi tin tặc, hãy suy nghĩ như một tin tặc (hacker). Nếu bạn là hacker, bạn sẽ tìm kiếm thông tin gì? Bạn sẽ thực hiện những gì để có được thông tin đó? Có nhiều cách để tấn công vào các loại cơ sở dữ liệu khác nhau, nhưng hầu hết tin tặc sẽ thử bẻ khóa mật khẩu cấp cao hoặc thực hiện cuộc tấn công vào cơ sở dữ liệu. Nếu bạn quen thuộc với lệnh SQL và hiểu về ngôn ngữ lập trình cơ bản, bạn có thể thử tấn công một cơ sở dữ liệu.
Các bước
Sử dụng SQL injection

Xác định điểm yếu của cơ sở dữ liệu. Bạn cần xử lý tốt các lệnh của cơ sở dữ liệu để có thể áp dụng phương pháp này. Trước tiên, hãy mở màn hình đăng nhập của giao diện web của cơ sở dữ liệu trên trình duyệt và nhập ’ (một dấu nháy đơn) vào trường tên người dùng. Nhấp vào “Login” (Đăng nhập). Nếu bạn nhận được lỗi “SQL Exception: quoted string not properly terminated” (chuỗi trích dẫn không được kết thúc đúng cách) hoặc “invalid character” (ký tự không hợp lệ), điều đó có nghĩa là cơ sở dữ liệu này dễ bị xâm nhập bằng kỹ thuật SQL injection.

Tìm số lượng cột. Trở lại trang đăng nhập cơ sở dữ liệu (hoặc bất kỳ URL khác kết thúc bằng “id=” hoặc “catid=”) và nhập order by 1 vào thanh địa chỉ trình duyệt. Tăng dần số này cho đến khi bạn gặp lỗi. Số cột thực sự chính là số được nhập vào trước số mà hệ thống báo lỗi.

Tìm cột chấp nhận biến. Ở cuối URL trong thanh địa chỉ, bạn hãy đổi catid=1 hay id=1 thành catid=-1 hoặc id=-1. Nhập union select 1,2,3,4,5,6 (nếu có 6 cột). Mỗi cột cách nhau bởi dấu phẩy. Nhấn ↵, số của từng cột sẽ chấp nhận biến.

Tiêm lệnh SQL vào cột. Ví dụ, nếu bạn muốn biết người dùng hiện tại và tiêm nội dung vào cột 2, hãy xóa tất cả phía sau phần id=1 trong URL rồi nhập union select 1,concat(user()),3,4,5,6--, tên người dùng của cơ sở dữ liệu hiện tại sẽ hiển thị trên màn hình.
Bẻ khóa mật khẩu cấp cao của cơ sở dữ liệu

Thử đăng nhập dưới quyền người dùng cấp cao bằng mật khẩu mặc định. Một số cơ sở dữ liệu không có mật khẩu cấp cao theo mặc định, vì thế bạn có thể để trống trường mật khẩu. Một số khác lại có mật khẩu mặc định dễ dàng được tìm thấy trên các diễn đàn hỗ trợ kỹ thuật về cơ sở dữ liệu.

Thử mật khẩu phổ biến. Nếu quản trị viên sử dụng mật khẩu (thường là điều này), bạn có thể thử các từ hoặc cụm từ phổ biến. Có danh sách mật khẩu công khai mà hacker thường sử dụng. Hãy thử sự kết hợp tên người dùng và mật khẩu.
- Trang https://github.com/danielmiessler/SecLists/tree/master/Passwords nổi tiếng với nhiều danh sách mật khẩu mà hacker sử dụng.
- Đoán mật khẩu một cách thủ công có thể mất thời gian, nhưng cũng đáng thử trước khi dùng cách phức tạp hơn vì không mất gì.

Sử dụng công cụ kiểm tra mật khẩu. Bạn có thể sử dụng nhiều công cụ để thử hàng nghìn sự kết hợp từ vựng và ký tự bằng kiểu tấn công brute force cho đến khi mật khẩu bị bẻ khóa.
- DBPwAudit (dành cho Oracle, MySQL, MS-SQL và DB2) và Access Passview (dành cho MS Access) là những công cụ kiểm tra mật khẩu phổ biến có thể hoạt động trên hầu hết các cơ sở dữ liệu. Bạn cũng có thể tìm trên Google những công cụ mới dành riêng cho cơ sở dữ liệu bạn muốn hack.
- Nếu bạn có tài khoản trên máy chủ lưu trữ cơ sở dữ liệu, có thể sử dụng công cụ băm như John the Ripper để giải mã tập tin mật khẩu của cơ sở dữ liệu. Vị trí của tập tin băm sẽ khác nhau tùy vào từng cơ sở dữ liệu.
- Chỉ nên tải công cụ từ những trang mà bạn tin tưởng. Hãy tìm hiểu kỹ trước khi sử dụng.
Tấn công cơ sở dữ liệu.

Tìm exploit để thực thi. Sectools.org là trang tổng hợp danh mục các công cụ bảo mật đã hoạt động trong hơn mười năm qua. Công cụ của họ khá uy tín và được nhiều quản trị viên hệ thống sử dụng để kiểm tra an ninh mạng. Hãy duyệt trong danh mục “Exploitation” của họ để tìm công cụ hoặc tập tin văn bản có thể giúp bạn tấn công lỗ hổng bảo mật của cơ sở dữ liệu.
- Trang cung cấp exploit khác là www.exploit-db.com. Hãy truy cập website trên và tìm kiếm loại cơ sở dữ liệu bạn muốn hack (ví dụ, “oracle”).
- Nghiên cứu kỹ tất cả exploit sẽ thử để có khả năng xoay xở trong trường hợp cần thiết.

Tìm mạng dễ bị tấn công để truy cập (wardriving). Wardriving là hành vi lái xe (hoặc đi dạo) xung quanh khu vực và sử dụng công cụ quét mạng để tìm mạng không bảo mật. Hành vi này không vi phạm pháp luật, nhưng tự ý truy cập và thực hiện hành vi phi pháp là không được phép.

Sử dụng exploit để tấn công cơ sở dữ liệu từ mạng đã truy cập. Nếu bạn định làm điều không nên, việc sử dụng mạng nhà không an toàn là không khôn ngoan. Hãy tìm và kết nối vào Wi-Fi không được bảo mật, sau đó thực hiện tấn công cơ sở dữ liệu bằng exploit bạn đã chọn.
Lời khuyên
- Dữ liệu nhạy cảm cần được bảo vệ bằng tường lửa.
- Hãy mã hóa Wi-Fi với mật khẩu để ngăn chặn người truy cập trái phép sử dụng mạng nhà bạn để tấn công cơ sở dữ liệu.
- Bạn có thể tìm hacker và nhờ lời khuyên. Đôi khi, điều tốt nhất không phải luôn nằm trên Internet.
Cảnh báo
- Hãy hiểu rõ về luật pháp và hậu quả khi tấn công cơ sở dữ liệu tại Việt Nam.
- Đừng bao giờ lấy quyền truy cập vào máy tính từ mạng riêng của bạn.
- Việc tấn công vào cơ sở dữ liệu của người khác là bất hợp pháp.
