SQL Injection
Đúng như tiêu đề, hôm nay ta sẽ bàn về SQL Injection và tác hại khủng khiếp mà nó có thể gây ra. Mong mọi người sẽ thích bài viết này
1) SQL Injection là cái gì:
SQL Injection là một phương pháp tấn công của các hacker lợi dụng những lỗ hổng của câu truy vấn của các ứng dụng. Được thực hiện bằng cách chèn thêm 1 đoạn SQL để làm sai đi câu lệnh truy vấn ban đầu, từ đó hack được vào database. Nghe thôi đã nguy hiểm rồi đúng không. Lỗ hổng cho phép hacker thực hiện các thao tác như một Admin, trên cơ sở dữ liệu của ứng dụng.
Ví dụ, trong form đăng nhập, người dùng nhập dữ liệu, trong trường tìm kiếm người dùng nhập văn bản tìm kiếm, trong biểu mẫu lưu dữ liệu, người dùng nhập dữ liệu cần lưu. Tất cả các dữ liệu được chỉ định này đều đi vào cơ sở dữ liệu.
Thay vì nhập dữ liệu đúng, các hacker lợi dụng những lỗ hổng để chèn và thực thi các câu lệnh SQL bất hợp pháp để lấy dữ liệu người dùng... SQL Injection được thực hiện với ngôn ngữ lập trình SQL. SQL (Structured Query Language) được sử dụng để quản lí dữ liệu được lưu trữ trong toàn bộ cơ sở dữ liệu.
Tuy nhiên ngày nay chúng ta thường làm viejc trên những framework hiện đại. Các framework đều đã dược test cẩn thận để phòng tránh các lỗi, trong đó có SQL Injection.
2) Tác hại:
- Hack tài khoản cá nhân
- Ăn cắp hoặc sao chép dữ liệu của trang web hoặc hệ thống
- Thay đổi dữ liệu nhạy cảm của hệ thống
- Xóa dữ liệu nhạy cảm và quan trọng của hệ thống
- Người dùng có thể đăng nhập vào ứng dụng với tư cách người dùng khác, ngay cả với tư cách quản trị viên
- Người dùng có thể xem thông tin cá nhân thuộc về những người dùng khác, ví dụ chi tiết hồ sơ của người dùng khác, chi tiết giao dịch của họ...
- Người dùng có thể sửa đổi cấu trúc của cơ sở dữ liệu, thậm chí xóa các bảng trong cơ sở dữ liệu ứng dụng,
- Người dùng có thể kiểm soát máy chủ cơ sở dữ liệu và thực thi lệnh theo ý muốn
if(isset($_POST['username']) && isset($_POST['password'])){ $sql = "SELECT * FROM tbl_user WHERE username='". $_POST['username'] . "' AND password = '" .$_POST['password'] ."'"; }
- Form đăng nhập
- Form tìm kiếm
- Form nhận xét
- Bất kì trường nhập hoặc lưu đầu vào của dữ liệu
- Liên kết của website
Nhận xét
Đăng nhận xét