3.2. XÂY DỰNG CHƯƠNG TRÌNH DEMO THỰC HIỆN TẤN CÔNG SQL
3.2.1. Nội dung kịch bản demo
Bài tốn gải định: Có chương trình QuanLyTinNhan, chương trình này được dùng để các thành viên gửi tin nhắn tới nhau. Các tin nhắn này được lưu tại mày chủ SQL Server. Người dùng đăng nhập chương trình bằng tài khoản của SQL Server, sau đó có thể thực hiện việc gửi tin nhắn cho người dùng khác, hoặc đọc nội dung tin nhắn do người khác gửi tới. Ví dụ có bốn người dùng là user01, user02, user03, user04. Các người dùng này sẽ đăng nhập chương trình QuanLyTinNhan, sử dụng chức năng gửi tin nhắn cho các người dùng cịn lại. Người dùng user01 có thể đọc nội dung tin nhắn được gửi cho mình, nhưng khơng thể đọc được nội dung tin nhắn của người khác. Ngồi ra phần thơng tin cá nhân của mỗi người dùng chỉ có người dùng đó có thể truy xuất được.
Chương trình demo này sử dụng cơ sở dữ liệu tên là QuanLyTinNhan, dùng để lưu thông tin người dùng, nội dung các tin nhắn. Người dùng không được phép truy cập trực tiếp lên các bảng dữ liệu, mà người dùng chỉ có thể truy xuất dữ liệu trong bảng thông qua các thủ tục lưu trữ. Người dùng sẽ cung cấp các tham số đầu vào cho các thủ tục này để thực hiện truy xuất dữ liệu.
Dựa vào vấn đề trên, em thực hiện demo tấn công SQL injection dựa trên các tham số đầu vào cho thủ tục lưu trữ mà người dùng đó có quyền thực thi. Tuy chương trình QuanLyTinNhan em xây dựng ở trên cịn ở mức đơn giản, giúp em hiểu rõ hơn về tấn công injection vào các tham số đầu vào của thủ tục lưu trữ tuy đơn giản nhưng có thể gây hậu quả nghiêm trọng.