SQL Injection – Phần 2: Ngữ cảnh và mục đích đạt được khi tấn công | Diễn đàn công nghệ - Tin học Việt
  1. Thông Báo: Bạn nào có nhu cầu đặt banner, textlink thì liên hệ với mình qua mail : lephuochuusvc@gmail.com nhé, giá hấp dẫn cho thành viên nào nhanh nhất.
    Tải bảng báo giá mới nhất tại đây >>>

SQL Injection – Phần 2: Ngữ cảnh và mục đích đạt được khi tấn công

Thảo luận trong 'Kiến thức về bảo mật-virus' bắt đầu bởi lovestory, Thg 1 23, 2015.

Lượt xem: 629

  1. lovestory

    Phần trước bạn đã hiểu qua các khái niệm cơ bản của SQL Injection. Ngoài ra bạn có thể xem thêm các bài viết cùng chủ đề trong blog để biết thêm về SQL Injection. Bài tiếp theo của loạt bài này, chúng ta cùng điểm qua một vài cách khai thác lỗi cơ bản.

    a. Vượt qua kiểm tra đăng nhập:
    [​IMG]

    Sau khi người dùng nhập username, password và click nút submit, username và password này sẽ được gửi đến ứng dụng và xử lý chúng. Một câu truy vấn SQL sẽ được tạo ra và lấy các hàng khớp với thông tin người dùng cung cấp. Người dùng lúc đó sẽ được chứng thực và chuyển đến trang yêu cầu.

    Tuy nhiên, nếu không được kiểm tra kỹ sẽ dễ bị lỗi SQL injection. Ví dụ đoạn code sau đâu bị lỗi SQL injection:

    Nếu người dùng đăng nhập bình thường, ví dụ như trong hình, username là ‘Jason’ và password là ‘Springfield’. Khi đó ứng dụng sẽ thực hiện câu truy vấn:
    Tuy nhiên, nếu đăng nhập với username và Password như sau:

    [​IMG]

    Lúc này, câu truy vấn sẽ được thực hiện như sau:
    . Như vậy là người tấn công sẽ vượt qua phần kiểm tra đăng nhập.

    b. Hiển thị bảng username và password
    [​IMG]

    Các website thường có ô tìm kiếm để người dùng dễ dàng tìm dữ liệu. Tuy nhiên, nếu ô tìm kiếm này không được kiểm tra kỹ sẽ dễ tạo lỗ hổng để hacker tấn công.

    Ví dụ đoạn code sau có lỗ hổng:

    Nếu giá trị của ô tìm kiếm được nhập vào là blah’ UNION Select 0, username, password 0 from users –. Câu lệnh truy vấn lúc đó là:

    Toán tử UNION cho phép ghép kết quả 2 câu lệnh SELECT lại, với điều kiện 2 câu lệnh này phải có cùng số cột.

    Kết quả: Username và password bị hiển thị ra.

    [​IMG]

    c. Update table
    [​IMG]

    Chuỗi tấn công:

    Câu lệnh SQL truy vấn lúc đó là:



    d. Thêm record
    [​IMG]

    Chuỗi tấn công:
    Câu lệnh SQL truy vấn lúc đó là:



    e. Xác định tên bảng
    Chuỗi tấn công:

    Câu lệnh SQL truy vấn lúc đó là:

    f. Xóa bảng
    Chuỗi tấn công:

    Câu lệnh SQL truy vấn lúc đó là:

     
    :
  • Chia sẻ trang này