CVE-2023-45344
📋 TL;DR
Online Food Ordering System v1.0 has unauthenticated SQL injection vulnerabilities in the '*_balance' parameter of routers/user-router.php. Attackers can execute arbitrary SQL commands without authentication, potentially compromising the entire database. All deployments of this specific software version are affected.
💻 Affected Systems
- Online Food Ordering System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise leading to data theft, data destruction, authentication bypass, and potential remote code execution on the database server.
Likely Case
Database information disclosure including user credentials, personal data, and financial information, followed by authentication bypass and privilege escalation.
If Mitigated
Attack attempts are blocked at the web application firewall level, preventing SQL injection while maintaining system functionality.
🎯 Exploit Status
SQL injection is well-understood with many automated tools available. The unauthenticated nature makes exploitation trivial for attackers.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://projectworlds.in/
Restart Required: No
Instructions:
1. Check vendor website for updated version. 2. If available, backup current installation. 3. Replace vulnerable files with patched version. 4. Test functionality.
🔧 Temporary Workarounds
Input Validation Filter
allAdd input validation to filter SQL injection characters in the *_balance parameter
Modify routers/user-router.php to sanitize $_GET['*_balance'] parameter using prepared statements or parameterized queries
Web Application Firewall
allDeploy WAF with SQL injection protection rules
🧯 If You Can't Patch
- Isolate the vulnerable system behind a web application firewall with SQL injection protection
- Restrict network access to only necessary IP addresses and implement network segmentation
🔍 How to Verify
Check if Vulnerable:
Test the routers/user-router.php endpoint with SQL injection payloads in the *_balance parameter and observe database errors or unexpected responses
Check Version:
Check the software version in the system configuration or about page
Verify Fix Applied:
Attempt SQL injection attacks against the patched endpoint and verify they are blocked or sanitized
📡 Detection & Monitoring
Log Indicators:
- SQL syntax errors in application logs
- Unusual database query patterns
- Multiple failed login attempts from single IP
Network Indicators:
- HTTP requests containing SQL keywords to routers/user-router.php
- Unusual database port traffic from web server
SIEM Query:
source="web_logs" AND uri="/routers/user-router.php" AND (query="*_balance" OR query CONTAINS "UNION" OR query CONTAINS "SELECT" OR query CONTAINS "INSERT")