CVE-2017-17648
📋 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
- Entrepreneur Dating Script
📦 What is this software?
Entrepreneur Dating Script by Entrepreneur Dating Script Project
⚠️ 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.
🎯 Exploit Status
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
allAdd 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
allDeploy 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=")