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.
Một dòng: chuỗi đầu vào (ví dụ tham số truy vấn).
Độ dài chuỗi ≤ 10^5.
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:
Đang tải editor...