Lab: SQL injection UNION attack, finding a column containing text
Mô tả
Phòng thí nghiệm này chứa lỗ hổng SQL injection trong bộ lọc danh mục sản phẩm. Kết quả từ truy vấn được trả về trong phản hồi của ứng dụng, do đó bạn có thể sử dụng tấn công UNION để truy xuất dữ liệu từ các bảng khác. Trước tiên cần xác định số lượng cột được truy vân trả về. Bước tiếp theo là xác định một cột tương thích với dữ liệu chuỗi.
Phòng thí nghiệm sẽ cung cấp một giá trị ngẫu nhiên mà bạn cần làm cho xuất hiện trong kết quả truy vấn.
Yêu cầu: Thực hiện SQL injection UNION attack trả về một hàng bổ sung chứa giá trị được cung cấp
Phân tích
Tìm số cột trả về
chèn vào URL với số lượng NULL thay đổi cho đến khi không có thông báo lỗi
Sau khi xác định được số cột thì tìm cột có dữ liệu chuỗi cấu trúc:
' UNION SELECT 'a',NULL,NULL,NULL--
' UNION SELECT NULL,'a',NULL,NULL--
' UNION SELECT NULL,NULL,'a',NULL--
' UNION SELECT NULL,NULL,NULL,'a'--
Tương đương với chèn vào URL lần lượt từng đoạn
Giải pháp
Xác định được 3 cột
Với 3 cột lần lượt thử các payload
Thành công với lần thử thứ 2 và hiển thị được chuỗi yêu cầu trong bảng, như vậy cột thứ 2 là tên các Pets
Last updated