Lab: Visible error-based SQL injection

Mô tả

Phòng thí nghiệm này chứa lỗ hổng SQL injection . Ứng dụng sử dụng cookie theo dõi để phân tích và thực hiện truy vấn SQL chứa giá trị của cookie đã gửi. Kết quả của truy vấn SQL không được trả về.

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à usernamepassword

Mục tiêu: Tìm cách rò rỉ mật khẩu của người dùng administrator, sau đó đăng nhập vào tài khoản của họ.

Phân tích

Xác định có thể khai thác ứng dụng với lỗi SQL injection qua các thông báo lỗi có thể nhìn thấy được

Thêm dấu ' vào TrackingID

Thông báo lỗi cho thấy truy vấn ứng dụng xây dựng có cả đầu vào vừa thêm

Khi thêm dấu -- để bỏ quan phần còn loại của truy vấn

Kết quả truy vấn thành công

Thử kích hoạt phản hồi có điều kiện

Không thành công, có vẻ như có giới hạn ký tự

Có thể sử dụng hàm CAST() chuyển đổi một kiểu dữ liệu sang kiểu dữ liệu khác nhằm tạo ra thông báo lỗi và thực thi payload được cast.

Giải pháp

'||cast((select username from users limit 1)as int)--

'||cast((select password from users limit 1)as int)--

Last updated