CVE-2017-17648

9.8 CRITICAL

📋 TL;DR

Entrepreneur Dating Script 2.0.1 contains SQL injection vulnerabilities in search_result.php parameters that allow attackers to execute arbitrary SQL commands. This affects all websites running this specific version of the dating script. Attackers can potentially access, modify, or delete database contents.

💻 Affected Systems

Products:
  • Entrepreneur Dating Script
Versions: 2.0.1
Operating Systems: All operating systems running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Any installation of Entrepreneur Dating Script 2.0.1 with default configuration is vulnerable. The vulnerability exists in the core script files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including user credential theft, data destruction, and potential remote code execution via database functions.

🟠

Likely Case

Data exfiltration of user information, session hijacking, and unauthorized access to sensitive dating profile data.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH - Web applications are typically internet-facing and vulnerable parameters are accessible without authentication.
🏢 Internal Only: LOW - This is a web application script primarily deployed for public-facing dating websites.

🎯 Exploit Status

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

Exploit code is publicly available on Exploit-DB. The vulnerability requires no authentication and can be exploited with basic web requests.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: No official vendor advisory found

Restart Required: No

Instructions:

1. Check if you're running Entrepreneur Dating Script 2.0.1
2. Replace vulnerable search_result.php file with patched version if available
3. Implement parameterized queries and input validation
4. Consider migrating to alternative dating script solutions

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to filter malicious SQL characters from marital, gender, country, and profileid parameters

# In search_result.php, add before parameter usage:
$marital = preg_replace('/[^a-zA-Z0-9\s]/', '', $_GET['marital']);
$gender = preg_replace('/[^a-zA-Z0-9]/', '', $_GET['gender']);
$country = preg_replace('/[^a-zA-Z0-9]/', '', $_GET['country']);
$profileid = intval($_GET['profileid']);

WAF Rule Implementation

all

Deploy web application firewall rules to block SQL injection patterns

# ModSecurity rule example:
SecRule ARGS_GET "@detectSQLi" "id:1001,phase:2,deny,status:403,msg:'SQL Injection Attempt'"
# Cloudflare WAF: Enable SQL Injection protection in Firewall Rules

🧯 If You Can't Patch

  • Implement network segmentation to isolate the vulnerable system from sensitive databases
  • Deploy a web application firewall (WAF) with SQL injection detection rules

🔍 How to Verify

Check if Vulnerable:

Test search_result.php with SQL injection payloads in marital, gender, country, or profileid parameters (e.g., ' OR '1'='1)

Check Version:

# Check script version in admin panel or look for version markers in PHP files
# grep -r "2.0.1" /path/to/dating-script/

Verify Fix Applied:

Attempt SQL injection tests after implementing fixes and verify no database errors or unexpected results

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in web server logs
  • Multiple failed login attempts following SQL injection patterns
  • Requests with SQL keywords in GET parameters (UNION, SELECT, INSERT, etc.)

Network Indicators:

  • Unusual database connection patterns from web server
  • Large data exfiltration from database server

SIEM Query:

source="web_server.log" AND ("SQL syntax" OR "mysql_fetch" OR "You have an error in your SQL syntax") AND ("search_result.php" OR "marital=" OR "gender=" OR "country=" OR "profileid=")

🔗 References

📤 Share & Export