Exploit-DB #33026
Description: Depot WiFi 1.0.0 iOS - Multiple Vulnerabilities
Type: webapps
Platform: ios
Date: 2014-04-25
Author: Vulnerability-Lab

Exploit:
Document Title:
===============
Depot WiFi v1.0.0 iOS - Multiple Web Vulnerabilities


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1259


Release Date:
=============
2014-04-23


Vulnerability Laboratory ID (VL-ID):
====================================
1259


Common Vulnerability Scoring System:
====================================
8.6


Product & Service Introduction:
===============================
With Depot you can archive all kinds of files on your iPhone, iPod or iPad and then share them on a local WiFi network
In Depot not only you can receive files from other applications that supports document interaction (as Mail or Safari), 
but you can also download and upload files from any kind of PC and internet enabled devices. You can then open your files 
directly on your device or share them between other devices such as smartphones, tablets, PCs, game consoles and smart TVs 
connected through a local WiFi.

(Copy of the Homepage: https://itunes.apple.com/br/app/depot/id858248612 )


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered multiple vulnerabilities in the official Depot v1.0.0 iOS mobile web-application.


Vulnerability Disclosure Timeline:
==================================
2014-04-23:	Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
Maurizio Berioli
Product: Depot - iOS Mobile Application 1.0


Exploitation Technique:
=======================
Remote


Severity Level:
===============
High


Technical Details & Description:
================================
1.1
A local file include web vulnerability has been discovered in the official Depot v1.0.0 iOS mobile web-application. The local file include 
web vulnerability allows remote attackers to unauthorized include local file/path requests or system specific path commands to compromise 
the mobile web-application.

The web vulnerability is located in the `filename` value of the `+Files > Upload!` module. Remote attackers are able to inject own files with 
malicious `filename` values in the `Upload!` POST method request to compromise the mobile web-application. The local file/path include execution 
occurs in the `Depot index item list` context of the wifi interface. Attackers are able to inject own local file requests by usage of the `wifi interface`
path value or by a local privileged device user account via `filename sync` rename.

Remote attackers are also able to exploit the filename validation issue in combination with persistent script codes to execute different local malicious 
attacks or requests. The attack vector is on the application-side of the wifi service and the request method to inject is POST. The security risk of the 
local file include web vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 6.9.

Exploitation of the local file include web vulnerability requires no privileged application user account or user interaction. Successful exploitation of 
the local file include web vulnerability results in mobile application or connected device component compromise.


Request Method(s):
				[+] [POST]

Vulnerable Module(s):
				[+] +File > Upload!

Vulnerable Function(s):
				[+] Create a new Folder (remote)
				[+] rename (local sync)

Vulnerable Parameter(s):
				[+] filename (path value)

Affected Module(s):
				[+] Depot Index Item Listing (http://localhost/)




1.2
A code execution web vulnerability has been discovered in the official Depot v1.0.0 iOS mobile web-application. The issue allows an attacker to 
compromise the application and connected device components by exploitation of system specific code execution vulnerability in the webdisk interface.

The vulnerability is located in the GET method request of the `+Folders` module. The main index provides a folders add form which is not secure 
encoding the regular inputs. The context can be implemented to the folders form and the results is the application-side execution of system 
specific malicious codes in the index. The file itself will not be transfered and the input generates the listing context to the index.

The input field of the +Folders module executes the wrong encoded input via GET method request by the name value. Remote attackers are able to 
execute the own malicious codes by usage of a script code payload in combination with the affected system device values. The execution of the code 
occurs in the main depot file dir listing context. The attack vector is on application-side and the request method to attack the service is GET. 
The security risk of the remote code execution web vulnerability is estimated as critical with a cvss (common vulnerability scoring system) count of 8.9.

Exploitation of the remote code execution web vulnerability requires no privileged application user account (passwd default blank) or user interaction. 
Successful exploitation of the code execution vulnerability results in mobile application compromise and connected or affected device component compromise.


Request Method(s):
				[+] POST

Vulnerable Module(s):
				[+] +Folders

Vulnerable Function(s):
				[+] Create a new Folder (remote)
				[+] rename (local sync)

Vulnerable Parameter(s):
				[+] foldername

Affected Module(s):
				[+] Depot Index Item Listing (http://localhost/)


Proof of Concept (PoC):
=======================
1.1
The local file include web vulnerability can be exploited by local attackers without privileged application user account or user interaction.
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.

PoC: Exploit Filename Index

<input onclick="toggle(this);" type="checkbox"></div></t