Lab: SQL injection UNION attack, retrieving multiple values in a single column
Last updated
Last updated
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 để 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.
Cơ sở dữ liệu chứa một bảng khác có tên là users
, với các cột có tên là username
và password
.
Mục tiêu: Thực hiện một cuộc tấn công để lấy tất cả tên người dùng và mật khẩu, sau đó sử dụng thông tin đó để đăng nhập với tư cách là administrator
người dùng.
Tương tự bài lab trước, với bộ lọc danh mục sản phẩm là Gifts.
Tìm ra được truy vấn trả về 2 cột, tìm xem các cột có chứa dữ liệu dạng chuỗi
Cột đầu tiên không phải
Cột thứ hai chứa dữ liệu dạng chuỗi. Tuy nhiên, bảng đã biết có chứa 2 cột dữ liệu kiểu chuỗi, cần sử dụng kỹ thuật nối chuỗi nhằm đưa nhiều giá trị vào trong một cột.
Ví dụ, trên Oracle/PostgreSQL,có thể gửi đầu vào:
' UNION SELECT username || '~' || password FROM users--
Ở bài này sử dụng payload sau:
Có được thông tin tài khoản administrator
và đăng nhập