Định nghĩa SQL Injection là gì?
SQL Injection là SQL Injection. Đây là nghĩa tiếng Việt của thuật ngữ SQL Injection - một thuật ngữ thuộc nhóm Technology Terms - Công nghệ thông tin.
Độ phổ biến(Factor rating): 5/10
Một SQL injection là một cuộc tấn công máy tính, trong đó mã độc được nhúng vào trong một ứng dụng được thiết kế kém và sau đó chuyển đến cơ sở dữ liệu phụ trợ. Các dữ liệu độc hại sau đó tạo ra kết quả truy vấn cơ sở dữ liệu hoặc hành động mà lẽ ra không nên được thực hiện.
Xem thêm: Thuật ngữ công nghệ A-Z
Giải thích ý nghĩa
Hãy cùng xem qua một ví dụ về một cuộc tấn công SQL injection: Một ứng dụng chạy hoạt động của một ngân hàng chứa các menu có thể được sử dụng để tìm kiếm thông tin chi tiết khách hàng sử dụng các điểm dữ liệu như số an sinh xã hội của khách hàng. Trong nền ứng dụng gọi một truy vấn SQL mà chạy trong cơ sở dữ liệu bằng cách thông qua các giá trị tìm kiếm nhập như sau: CHỌN CLIENT_NAME, điện thoại, địa chỉ, date_of_birth ĐÂU social_sec_no = 23.425 Trong kịch bản mẫu này, người dùng nhập vào giá trị 23.425 trong cửa sổ menu ứng dụng, yêu cầu người dùng nhập vào số An Sinh Xã Hội. Sau đó, sử dụng giá trị được cung cấp bởi người sử dụng, một truy vấn SQL chạy trong cơ sở dữ liệu. Người dùng có kiến thức SQL có thể hiểu được những ứng dụng và, thay vì bước vào một giá trị duy nhất khi được hỏi về số An Sinh Xã Hội, nhập vào chuỗi “23.425 hoặc 1 = 1”, được truyền cho các cơ sở dữ liệu như sau: CLIENT_NAME SELECT, điện thoại, địa chỉ, date_of_birth ĐÂU social_sec_no = 23.425 hoặc 1 = 1 Các mệnh đề WHERE là quan trọng vì nó giới thiệu dễ bị tổn thương. Trong một cơ sở dữ liệu, điều kiện 1 = 1 luôn là sự thật, và bởi vì các truy vấn đã được xác định đến từng chi tiết trở lại client An Sinh Xã Hội số (23.425) hoặc WHERE 1 = 1, truy vấn sẽ trả lại tất cả các hàng trong bảng, mà không phải là ý định ban đầu. SQL ở trên tấn công tiêm ví dụ rất đơn giản, nhưng nó cho thấy cách khai thác một lỗ hổng để lừa các ứng dụng vào chạy một truy vấn cơ sở dữ liệu phụ trợ hoặc lệnh. tấn công SQL injection có thể được giảm nhẹ bằng cách đảm bảo thiết kế ứng dụng thích hợp, đặc biệt là trong các module cần dùng đầu vào người sử dụng để chạy các truy vấn cơ sở dữ liệu hoặc lệnh. Trong ví dụ trên, các ứng dụng có thể được thay đổi để nó chấp nhận một giá trị số duy nhất.
What is the SQL Injection? - Definition
An SQL injection is a computer attack in which malicious code is embedded in a poorly-designed application and then passed to the backend database. The malicious data then produces database query results or actions that should never have been executed.
Understanding the SQL Injection
Let's go through an example of a SQL injection attack: An application running a bank’s operations contains menus that may be used to search for customer details using data points such as the customer’s Social Security number. In the background the application calls an SQL query that runs in the database by passing the entered search values as follows: SELECT client_name, telephone, address, date_of_birth WHERE social_sec_no=23425 In this sample script, the user enters the 23425 value in the application menu window, requesting the user to enter the Social Security number. Then, using the value provided by the user, an SQL query runs in the database. A user with SQL knowledge may understand the application and, instead of entering a single value when asked for the Social Security number, enter the string “23425 or 1=1,” which is passed to the database as follows: SELECT client_name, telephone, address, date_of_birth WHERE social_sec_no=23425 or 1=1 The WHERE clause is important because it introduces vulnerability. In a database, the condition 1=1 is always true, and because the query has been specified to return client Social Security number details (23425) or WHERE 1=1, the query will return all rows in the table, which was not the original intention. The above SQL injection attack example is simple, but it shows how exploiting a vulnerability to trick the application into running a backend database query or command. SQL injection attacks can be mitigated by ensuring proper application design, especially in modules that require user input to run database queries or commands. In the above example, the application could be changed so that it accepts one numeric value only.
Thuật ngữ liên quan
- Structured Query Language (SQL)
- Parameterized Query
- Information Assurance (IA)
- Code Injection
- XPath Injection
- Cross Site Scripting (XSS)
- Defacement
- Banker Trojan
- Binder
- Blended Threat
Source: SQL Injection là gì? Technology Dictionary - Filegi - Techtopedia - Techterm