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] Chuẩn hóa rồi phát hiện OR-injection

    Chuẩn hóa trước khi phát hiện

    Kẻ tấn công chèn khoảng trắng thừa hoặc đổi hoa thường để né bộ lọc (vd OR 1=1). Phòng thủ tốt cần chuẩn hóa (normalize) đầu vào trước:

    1. Gộp mọi chuỗi khoảng trắng liên tiếp thành một dấu cách.
    2. Cắt khoảng trắng đầu/cuối.
    3. Chuyển về chữ thường.

    Sau đó phát hiện mẫu or + số=số (vd or 1=1). Nếu có, in SQLI, ngược lại SACH.

    Ví dụ

    • Vào: admin' OR 1 = 1 -> Ra: SQLI
    • Định dạng đầu vào:

      Một dòng đầu vào.

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

      Độ dài <= 2000. Dùng re.sub(r"\s+", " ", ...).

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

      In SQLI hoặc SACH.

    Ví dụ:

    Đầu vào:

    admin' OR    1 = 1
    

    Đầu ra:

    SQLI

    Giải thích:

    Sau chuẩn hóa thành "admin' or 1 = 1", khớp mẫu or 1=1.

    Đang tải editor...