Can thiệp vào tham số trên URL

Một phần của tài liệu Nghiên cứu giải pháp bảo mật và xác thực website (Trang 46 - 48)

Đây là cách thức tấn công bằng cách đưa tham số trực tiếp vào địa chỉ URL để truy cập thông tin không dành cho người dùng (người dùng thao tác qua giao diện trên trình duyệt không thể thấy được các thông tin này). Câu lệnh SQL truy cập CSDL nền của ứng dụng trên Web thường được thể hiện

trên địa chỉ URL. Dùng các câu lệnh SQL để khai thác CSDL trên server bị lỗi, điển hình nhất là tấn công bằng "SQL INJECT". Khi hacker gửi những dữ liệu (thông qua các form), ứng dụng web sẽ thực hiện và trả về trình duyệt kết quả câu truy vấn hay những thông báo lỗi có liên quan đến CSDL và từ đó có thể điều khiển toàn bộ hệ thống ứng dụng.

SQL Injection là một kĩ thuật cho phép những kẻ tấn công thi hành các câu lệnh truy vấn SQL bất hợp pháp (người phát triển không lường trước được) bằng cách lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập từ các ứng dụng web. Hậu quả này rất tai hại vì nó cho phép kẻ tấn công có toàn quyền, hiệu chỉnh… trên cơ sở dữ liệu của ứng dụng. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị CSDL như SQL Server, Oracle, DB2, Sysbase.

Tác hại của dạng tấn công 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 CSDL) khi thao tác dữ liệu, nó có thể xóa toà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 toàn bộ hệ CSDL và thậm chí 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.

Để phòng tránh các nguy cơ có thể xảy ra, hãy bảo vệ các câu truy vấn SQL bằng cách kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượng Request (Request, Request. QueryString, Request.Form, Request. Cookies, và Request.Server Variables).

Cuối cùng, để hạn chế thiệt hại do tấn công SQL Injection, nên kiểm soát chặt chẽ và giới hạn quyền xử lí dữ liệu của tài khoản người dùng mà ứng dụng web đang sử dụng. Các ứng dụng thông thường nên tránh dùng các quyền như dbo hay sa. Quyền càng hạn chế, thiệt hại càng ít.

Một phần của tài liệu Nghiên cứu giải pháp bảo mật và xác thực website (Trang 46 - 48)