CVE-2023-24200

9.8 CRITICAL

📋 TL;DR

Raffle Draw System v1.0 contains a SQL injection vulnerability in the save_ticket.php file via the id parameter. This allows attackers to execute arbitrary SQL commands on the database. Anyone running this specific version of the software is affected.

💻 Affected Systems

Products:
  • Raffle Draw System
Versions: v1.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the specific save_ticket.php file in the default installation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, authentication bypass, and potential remote code execution if database functions allow it.

🟠

Likely Case

Unauthorized data access, extraction of sensitive information like user credentials, and potential privilege escalation.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

SQL injection via GET/POST parameter is straightforward to exploit with common tools like sqlmap.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Replace vulnerable code with parameterized queries or prepared statements in save_ticket.php.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add input validation to ensure id parameter contains only expected values (integers)

Modify save_ticket.php to validate id parameter using is_numeric() or filter_var()

Web Application Firewall (WAF)

all

Deploy WAF rules to block SQL injection patterns

Configure WAF to detect and block SQL injection attempts on save_ticket.php

🧯 If You Can't Patch

  • Remove or restrict access to save_ticket.php file
  • Implement network segmentation to isolate the vulnerable system

🔍 How to Verify

Check if Vulnerable:

Test save_ticket.php with SQL injection payloads like ' OR '1'='1 in id parameter

Check Version:

Check PHP files for version markers or review installation documentation

Verify Fix Applied:

Test with same payloads and verify they are rejected or sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries from web server
  • Multiple failed parameter validation attempts
  • SQL syntax errors in application logs

Network Indicators:

  • HTTP requests to save_ticket.php with SQL keywords in parameters
  • Unusual traffic patterns to the vulnerable endpoint

SIEM Query:

web.url:*save_ticket.php* AND (web.param:*OR* OR web.param:*UNION* OR web.param:*SELECT*)

🔗 References

📤 Share & Export