Lab: Blind SQL injection with time delays

Mô tả

Ứng dụng sử dụng cookie theo dõi để phân tích và thực hiện truy vấn SQL có chứa giá trị của cookie đã gửi.

Kết quả của truy vấn SQL không được trả về và ứng dụng không phản hồi khác nhau tùy thuộc vào việc truy vấn trả về bất kỳ hàng nào hay gây ra lỗi. Tuy nhiên, vì truy vấn được thực hiện đồng bộ nên có thể kích hoạt độ trễ thời gian có điều kiện để suy ra thông tin.

Mục tiêu: Khai thác lỗ hổng SQL injection để gây ra độ trễ 10 giây.

Phân tích

Kích hoạt trễ thời gian trên các loại cơ sở dữ liệu

Oracle

dbms_pipe.receive_message(('a'),10)

Microsoft

WAITFOR DELAY '0:0:10'

PostgreSQL

SELECT pg_sleep(10)

MySQL

SELECT SLEEP(10)

Giải pháp

Bật Intercept trong Burp Proxy, thêm vào TrackingId : '||pg_sleep(10)-- (Trên PostgreSQL)

Mất 10s để ứng dụng trả về phản hồi => Xác định được ứng dụng có lỗi SQL injection bằng cách kích hoạt độ trễ thời gian

Last updated