Exploit-DB #24550
Description: WiFilet 1.2 iPad iPhone - Multiple Vulnerabilities
Type: webapps
Platform: hardware
Date: 2013-02-26
Author: Vulnerability-Lab

Exploit:
Title:
======
WiFilet v1.2 iPad iPhone - Multiple Web Vulnerabilities


Date:
=====
2013-02-22


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=867


VL-ID:
=====
867


Common Vulnerability Scoring System:
====================================
6.3


Introduction:
=============
WiFilet will makes your iPhone/iPad a mobile disk,you can use browsers upload or download files between iPhone/iPad and PC through WIFI.

* Easily sync musics between computers and play them directly.
* Easily browse photo libraries via a web browser.
* Simple & handy UI
* Progress of the uploading files
* Open files(like images,word,excel,ppt etc.) directly in your device
* Share files by Email attachment
* Password protection
* ...

(Copy of the Homepage: https://itunes.apple.com/de/app/wifilet/id492512158 )


Abstract:
=========
The Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in the mobile WiFilet v1.2 app for the apple ipad & iphone.


Report-Timeline:
================
2013-02-22:  Public Disclosure


Status:
========
Published


Affected Products:
==================
Apple AppStore
Product: WiFilet (WiFi) Application (iPad & iPhone) 1.2


Exploitation-Technique:
=======================
Remote


Severity:
=========
Critical


Details:
========
A local file include and arbitrary file upload web vulnerability via POST request method is detected  in the mobile WiFilet v1.2 app 
for the apple ipad & iphone. The vulnerability allows remote attackers via POST method to inject local app webserver folders to 
request unauthorized local webserver files.

1.1
The main vulnerbility is located in the upload file script of the webserver (http://192.168.0.10:9999/) when processing to load a manipulated 
filename via POST request method. The execution of the injected path or file request will occur when the attacker is watching the file index listing
of the wifi web application web-server.

1.1.2
Remote attackers can also unauthorized implement mobile webshells by using multiple file extensions (pentest.php.js.gif) when processing to 
upload (submit) via POST request method. The attacker uploads a file with a double extension and access the file in the secound step via 
directory webserver dir listing to compromise the apple iphone or ipad.

Exploitation of the local file include web vulnerability does not require user interaction and also no privileged user account.
Successful exploitation of the web vulnerabilities results in app/service manipulation and ipad or iphone compromise via file 
include or unauthorized file (webshell) upload attacks.


Vulnerable Application(s):
        [+] WiFilet v1.2 - ITunes or AppStore (Apple)

Vulnerable Module(s):
        [+] File Upload via Submit (Web Server) [Remote]

Vulnerable Parameter(s):
        [+] file > filename

Affected Module(s):
        [+] File Dir Index - Listing



1.2
A cross site request forgery web vulnerability is detected in the mobile WiFilet v1.2 app for the apple ipad & iphone.
The vulnerability allows remote attackers to form manipulated links or scripts to execute application functions when 
processing to load client side requests in the web browser.

The vulnerability is located in the application delete module and the not secure parsed file parameter. Remote attacker can force 
application users with not expired session to execute application function when processing to click a manipulated link.

Exploitation of the vulnerability requires medium or high user interaction without privileged application user account.
Successful exploitation of the vulnerability result in account steal via client side session hijacking, client site phishing, or 
client-side content request manipulation.

Vulnerable Application(s):
        [+] WiFilet v1.2 - ITunes or AppStore (Apple)

Vulnerable Module(s):
        [+] Delete

Vulnerable Module(s):
        [+] file

Affected Module(s):
        [+] File Dir - Listing


Proof of Concept:
=================
Both vulnerabilities can be exploited by remote attackers without privileged application user account and also without required user interaction.
For demonstration or reproduce ...

1.1
Local File/Path Include Web Vulnerability
Review: Index Listing 

<tr><td title="../[FILE OR PATH REQUEST]<.png"><img src="/img/ext/png.png" align="absmiddle"> 
<a href="/down?f=6">../[FILE OR PATH REQUEST].png</a></td><td style="text-align:center;">2013-02-10 18:46</td>
<td>PNG Image</td><td><div title="27920" align="right">27,27 KB</div></td><td style="text-align:center;">
<button class="btn btn-danger" onclick="deleteFile("6")">Delete</button></td></tr>


PoC:
--- Session Log ---
[{"bytes":233966,"id":7,"name":"8765434.png","createDate":"2013-02-10 18:46","ext":"png","typeDesc":"file_type_png","size":"228,48 KB"},{"bytes":27920,"id":6,"name":"../[FILE OR PATH REQUEST].png","createDate":"2013-02-10 18:46","ext":"png","typeDesc":"file_type_png","size":"27,27 KB"},{"bytes":27920,"id":5,"name":"327.png","createDate":"2013-02-06 18:02","ext":"png","typeDesc":"file_type_png","size":"27,27 KB"},{"bytes":27920,"id":4,"name":"327.png","createDate":"2013-02-06 18:02","ext":"png","typeDesc":"file_type_png","size":"27,27 KB"}]


... or

http://192.168.0.10:9999/photo?u=../[FILE OR PATH REQUEST]<


Reference(s):
http://192.168.0.10:9999/
http://192.168.0.10:9999/list?p=&t=[PII_REDACTED]29


1.1.2
Local File Upload Web Vulnerability
Review: Index Listing

<tbody>
<tr><td title="../[FILENAME+MULTIPLE EXTENSIONS].png.txt.iso.php.asp"><img src="/img/ext/file.png" align="absmiddle"> 
<a href="/../[FILENAME+MULTIPLE EXTENSIONS].png.txt.iso.php.asp">../[FILENAME+MULTIPLE EXTENSIONS].png.txt.iso.php.asp</a></td>
<td style="text-align:center;">2013-02-10 18:53</td><td>File</td><td><div title="98139" align="right">95,84 KB</div></td>
<td style="