Thực hiện tấn công Blind SQL Injection dựa trên phản hồi

Một phần của tài liệu Phát hiện và ngăn chặn tấn công bằng SQL INJECTION vào cơ sở dữ liệu sử dụng web service (Trang 28 - 30)

e) Kết luận

2.1.3.1Thực hiện tấn công Blind SQL Injection dựa trên phản hồi

Xét liên kết : http://www.xyz.com.vn/?a=news&id=46

Sau khi bị tấn công, người quản trị website trên đã thực hiện việc bảo mật bằng cách tắt các thông báo lỗi trả về từ database, với suy nghĩ rằng không có thông báo lỗi thì kẻ tấn công sẽ không biết dựa vào đâu để tấn công được.

Tấn công bằng cách thông thường : Việc truy vấn bằng cách thêm ’ vào sau liên kết, hay sử dụng các hàm truy vấn đều không đem lại kết quả. Trang web vẫn hiển thị một cách bình thường. Lúc này kẻ tấn công sẽ sử dụng các phép thử đúng/sai để tấn công.

Kẻ tấn công sẽ thử truy vấn bằng liên kết :

http://www.xyz.com.vn/?a=news&id=46 and 1=1

SVTH: Vĩnh Thái Cường - 49THM Page 29 Website vẫn hiển thị bình thường. Thay truy vấn bằng :

http://www.xyz.com.vn/?a=news&id=46 and 1=2

Hình 2-10. Trang web bị lỗi Blind SQL Injection

Kết quả trả về một trang trắng, không có nội dung hiển thị.

Lý do website hiển thị không đúng với vốn có của nó là bởi vì, mệnh

đề trước AND là một câu truy vấn cho kết quả đúng

(http://www.xyz.com.vn/?a=news&id=46) , mệnh đề sau AND là một kết quả sai (1=2)

true AND true = true true AND false = false

Đó là nguyên nhân của việc website hiển thị không đúng.

 Điều này cho thấy website trên vẫn chưa thực hiện một biện pháp phòng chống SQL Injection cụ thể nào. Đây chính là cơ sở để kẻ tấn công tiếp tục cuộc tấn công của mình.

Thực hiện các truy vấn tương tự, kẻ tấn công có thể dò được thông tin về phiên bản, tên database, tên bảng, tên cột, thông tin người dùng.

http://www.xyz.com.vn/?a=news&id=46 and substring(@@version,1,1)=4

SVTH: Vĩnh Thái Cường - 49THM Page 30 Website hiển thị một trang trắng, chứng tỏ điều kiện phiên bản là 4 sai => phiên bản của hệ quản trị cơ sở dữ liệu đang dùng lớn hơn 4.

Tiếp tục phép thử :

http://www.tne.com.vn/?a=news&id=46 and substring(@@version,1,1)=5

Website hiển thị bình thường

 Kết luận : phiên bản đang sử dụng lớn hơn 5.

Một phần của tài liệu Phát hiện và ngăn chặn tấn công bằng SQL INJECTION vào cơ sở dữ liệu sử dụng web service (Trang 28 - 30)