# Blind SQL injection with time delays and information retrieval * Giống với bài lab [**Blind SQL injection with time delays**](https://hackmd.io/@thuanphat342001/rkCOc4OIp) nhưng lần này chúng ta sẽ sử dụng các delay response để tìm password của user `administrator`. Đầu tiên ta phải tìm payload của database nào hoạt động được. Dùng giống bài lab trước là `'||pg_sleep(10)--`. Kết quả là response có delay 10 giây. ![Capture03](https://hackmd.io/_uploads/Sy5zRV_Lp.png) * Tiếp theo ta đưa request `GET /filter?category=Gifts` qua Intruder, sử dụng payload `' || (SELECT CASE WHEN (LENGTH(password)=1) THEN pg_sleep(5) ELSE 'a' END FROM users WHERE username='administrator')--`. Vị trí đặt payload brute-force là độ dài của password. Nếu có delay thì payload đó chính là độ dài của password. ![Capture05](https://hackmd.io/_uploads/rJcM0Nu8p.png) * Tiến hành tấn công, ta thấy ở payload `20` có delay response 5 giây, đây chính là độ dài của password. ![Capture06](https://hackmd.io/_uploads/r1iG04uUp.png) * Tiếp theo ta sẽ brute-force password, dùng payload `' || (SELECT CASE WHEN (SUBSTRING(password, 1, 1) = 'a') THEN pg_sleep(5) ELSE 'a' END FROM users WHERE username='administrator')--`. Vị trí đặt payload brute-force sẽ là như hình dưới. Chọn loại tấn công là Cluster bomb. Ở vị trí payload đầu tiên ta đưa dữ liệu Numbers từ 1 đến 20, vị trí payloas thứ hai là các kí tự in thường và kí tự số. Tiến hành tấn công. ![Capture07](https://hackmd.io/_uploads/Hyqf04_U6.png) * Sau khi có kết quả, ta sắp xếp lại các kí tự và được password `lfycozdb6qtv87try3nq`. Dùng password này để đăng nhập. Hoàn thành bài lab. ![Capture08](https://hackmd.io/_uploads/SyoG04OI6.png) ![Capture09](https://hackmd.io/_uploads/rycGAEdLa.png)