Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Phát hiện mẫu SQL Injection

    Phát hiện mẫu SQL Injection

    Khái niệm. SQL Injection (SQLi) là lỗ hổng cho phép chèn mã SQL độc hại qua đầu vào người dùng. Các hệ thống phát hiện (IDS/WAF) dùng luật để nhận diện các mẫu đặc trưng. Bài này chỉ dò mẫu trong chuỗi (phòng thủ), không thực thi truy vấn.

    Danh sách mẫu (không phân biệt hoa/thường):

    ' or , or 1=1 , union select , -- , ; , drop table , /* , xp_

    Đếm số mẫu xuất hiện trong đầu vào.

    Ví dụ. ' OR 1=1 -- khớp ' or, or 1=1, -- → SQLI 3.

    • Định dạng đầu vào:

      Một dòng: chuỗi đầu vào (ví dụ tham số truy vấn).

    • Ràng buộc đầu vào:

      Độ dài chuỗi ≤ 10^5.

    • Định dạng đầu ra:

      AN TOAN nếu không khớp mẫu nào; ngược lại SQLI <số mẫu khớp>.

    Ví dụ:

    Đầu vào:

    ' OR 1=1 --

    Đầu ra:

    SQLI 3

    Giải thích:

    Khớp 3 mẫu: "' or", "or 1=1", "--" → SQLI 3.

    Đang tải editor...