Dạng tấn cơng sử dụng stored-procedures

Một phần của tài liệu Đồ án phương pháp tấn công vào trang web và cách phòng chống xây dựng ứng dụng demo sql ịnection (Trang 26 - 27)

Việc tấn cơng bằng stored-procedures sẽ gây tác hại rất lớn nếu ứng dụng được thực thi với quyền quản trị hệ thống “sa”. Ví dụ, nếu ta thay đoạn mã tiêm

vào dạng: “; EXEC xp_cmdshell?cmd.exe dir C:?. Lúc này hệ thống sẽ thực hiện lệnh liệt kê như mục trên ở ổ đĩa C:Vài đặt server. Việc phá hoại kiểu nào tùy

thuộc vào câu lệnh đằng sau cmd.exe. 2.2.1.3 Cách phịng tránh

Trong hầu hết trình duyệt, những kí tự nên được mã hĩa trên địa chỉ URL trước khi sử dụng.

Việc tấn cơng theo SQL Injection dựa vào những câu thơng báo lỗi do đĩ việc phịng chống hay nhất là khơng cho hiển thị những thơng điệp lỗi cho người dùng bằng cách thay thế những lỗi thơng báo bằng một trang do người phát triển thiết kế mỗi khi lỗi xảy ra trên Ứng dụng.

Kiểm tra kĩ dữ liệu nhập vào thay thế nhỮng kí tự như :

> Đối với các giá trị numeric, hãy chuyển nĩ sang Interger trước khi thực hiện câu truy vấn SQL, hoặc dùng ISNUMERIC để chắc chắn nĩ là một Interger. > Dùng thuật tốn mã hĩa dữỮ liệu.

> Như vậy, cĩ thể thấy lỗi SQL injection khai thác nhỮng bất cẩn của các lập

trình viên phát triển Ứng dụng web khi xỮ lí các dữ liệu nhập vào để xây dựng câu lệnh SQL. Tác hại từ lỗi SQL injection tùy thuộc vào mơi trường

và cách cấu hình hệ thống. Nếu Ứng dụng sử dụng quyền dbo(quyền của

người sở hỮu cơ sỡ dữ liệu - owner) khi thao tác dỮ liệu, nĩ cĩ thể xĩa tồn

bộ các bảng dữ liệu, tạo các bảng dữ liệu mới,...Nếu ứng dụng sử dụng quyền sa(quyền quản trị hệ thống), nĩ cĩ thể điều khiển tồn bộ hệ quản

trị cơ sỡ dữ liệu và với quyền hạn rộng lớn như vậy nĩ cĩ thể tạo ra các tài

khoản người dùng bất hợp pháp để điều khiển hệ thống của bạn. Để phịng tránh, ta cĩ thể thực hiện Ở hai mức

Một phần của tài liệu Đồ án phương pháp tấn công vào trang web và cách phòng chống xây dựng ứng dụng demo sql ịnection (Trang 26 - 27)