---
# System prepended metadata

title: Blind SQL injection with time delays and information retrieval
tags: [SQL injection]

---

# 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)
