CVE-2023-45115
📋 TL;DR
Online Examination System v1.0 contains authenticated SQL injection vulnerabilities in the 'ch' parameter of the /update.php?q=addqns endpoint. This allows authenticated attackers to execute arbitrary SQL commands on the database. Organizations using this specific software version are affected.
💻 Affected Systems
- Online Examination System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including data theft, data manipulation, privilege escalation, and potential remote code execution on the database server.
Likely Case
Data exfiltration of sensitive examination data, student records, and administrative credentials stored in the database.
If Mitigated
Limited impact with proper input validation and parameterized queries preventing successful exploitation.
🎯 Exploit Status
SQL injection is well-understood with many automated tools available. Requires authenticated access but exploitation is straightforward.
🛠️ 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 database and application files. 3. Replace vulnerable files with patched version. 4. Test functionality.
🔧 Temporary Workarounds
Input Validation Filter
allAdd server-side validation to sanitize the 'ch' parameter before processing
Modify update.php to validate 'ch' parameter contains only expected characters
Web Application Firewall
allDeploy WAF with SQL injection protection rules
🧯 If You Can't Patch
- Implement strict input validation for all parameters in the application
- Use parameterized queries or prepared statements instead of concatenated SQL
🔍 How to Verify
Check if Vulnerable:
Test the /update.php?q=addqns endpoint with SQL injection payloads in the 'ch' parameter while authenticated
Check Version:
Check application version in admin panel or configuration files
Verify Fix Applied:
Attempt SQL injection after applying fixes and verify database queries are properly parameterized
📡 Detection & Monitoring
Log Indicators:
- Unusual database queries from web application
- SQL error messages in application logs
- Multiple failed login attempts followed by SQL payloads
Network Indicators:
- SQL keywords in HTTP POST/GET parameters to update.php
- Unusual database connection patterns
SIEM Query:
web.url:*update.php* AND (web.param:*UNION* OR web.param:*SELECT* OR web.param:*INSERT* OR web.param:*DELETE*)