214 lines
No EOL
9.1 KiB
Text
214 lines
No EOL
9.1 KiB
Text
Document Title:
|
|
===============
|
|
Wireless Photo Transfer v3.0 iOS - File Include Vulnerability
|
|
|
|
|
|
References (Source):
|
|
====================
|
|
http://www.vulnerability-lab.com/get_content.php?id=1492
|
|
|
|
|
|
Release Date:
|
|
=============
|
|
2015-05-12
|
|
|
|
|
|
Vulnerability Laboratory ID (VL-ID):
|
|
====================================
|
|
1492
|
|
|
|
|
|
Common Vulnerability Scoring System:
|
|
====================================
|
|
6.5
|
|
|
|
|
|
Product & Service Introduction:
|
|
===============================
|
|
Transfer your photo without usb. The best wireless photo transfer app on the App Store.
|
|
|
|
(Copy of the Vendor Homepage: https://itunes.apple.com/us/app/wireless-photo-transfer/id900376882 )
|
|
|
|
|
|
Abstract Advisory Information:
|
|
==============================
|
|
The Vulnerability Laboratory Research Team discovered a local file include vulnerability in the official wireless photo transfer mobile v3.0 iOS application.
|
|
|
|
|
|
Vulnerability Disclosure Timeline:
|
|
==================================
|
|
2015-05-12: Public Disclosure (Vulnerability Laboratory)
|
|
|
|
|
|
Discovery Status:
|
|
=================
|
|
Published
|
|
|
|
|
|
Affected Product(s):
|
|
====================
|
|
Yan Xing
|
|
Product: Wireless Photo Transfer - iOS Mobile Web Application 3.0
|
|
|
|
|
|
Exploitation Technique:
|
|
=======================
|
|
Remote
|
|
|
|
|
|
Severity Level:
|
|
===============
|
|
High
|
|
|
|
|
|
Technical Details & Description:
|
|
================================
|
|
A local file include web vulnerability has been discovered in the official wireless photo transfer mobile v3.0 iOS application.
|
|
The file include 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 `album-title` value of the `file upload` module. Remote attackers are able to inject
|
|
own files with malicious `filename` values in the `file upload` POST method request to compromise the mobile web-application.
|
|
The local file/path include execution occcurs in the index file dir listing and sub folders of the wifi interface. The attacker
|
|
is able to inject the lfi payload by usage of the wifi interface or local file sync function. Attackers are also able to exploit
|
|
the filename issue in combination with persistent injected script code to execute different malicious attack requests. The attack
|
|
vector is located on the application-side of the wifi service and the request method to inject is POST.
|
|
|
|
The security risk of the local file include vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 6.5.
|
|
Exploitation of the local file include web vulnerability requires no user interaction or privileged web-application user account.
|
|
Successful exploitation of the local file include vulnerability results in mobile application compromise or connected device component compromise.
|
|
|
|
Request Method(s):
|
|
[+] [POST]
|
|
|
|
Vulnerable Module(s):
|
|
[+] Submit (Upload)
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] filename (album-title)
|
|
|
|
Affected Module(s):
|
|
[+] Index File Dir Listing (http://localhost:80/)
|
|
|
|
|
|
Proof of Concept (PoC):
|
|
=======================
|
|
The local file include web vulnerability can be exploited by remote attackers without privileged application user account or user interaction.
|
|
For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue.
|
|
|
|
PoC: #1 Index File Dir Listing (album-title)
|
|
|
|
<div class="album-folder">
|
|
<div class="album-number">2 items</div>
|
|
<div class="album-title">../[LOCAL FILE INCLUDE VULNERABILITY VIA ALBUMNAME!]<a></a></div><a>
|
|
</a><a href="/group/2/0/100"><img class="album-overlay" alt="" src="/cvab-overlay.png" height="160" width="140">
|
|
<img class="album-thumb" alt="" src="/api/group/poster/2" height="90" width="90"></a>
|
|
<div class="album-folder-img"><img alt="" src="/cvab.png" height="160" width="140"></div>
|
|
</div>
|
|
|
|
|
|
PoC: #2 Topic Album (Album Title - album_info_intro_driver)
|
|
|
|
<div class="top-section">
|
|
<div id="intro">
|
|
<div class="divider">
|
|
<h1 class="strong" id="album_info_intro_driver">../[LOCAL FILE INCLUDE VULNERABILITY VIA ALBUMNAME!]<a>(0-2)</a></h1><a>
|
|
<div class="pagination"></div>
|
|
</a></div><a>
|
|
</a></div><a>
|
|
|
|
</a><div class="centered"><a>
|
|
</a><a class="button-2 ui-glossy rad-l" href="javascript:location.reload(true)">Refresh</a>
|
|
<a class="button-2 ui-glossy rad-r" href="javascript:downloadAllSelection()">Download ZIP</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
--- PoC Session Logs [POST] ---
|
|
Status: 200[OK]
|
|
POST http://localhost:80/upload.html
|
|
Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Größe des Inhalts[2] Mime Type[application/x-unknown-content-type]
|
|
Request Header:
|
|
Host[localhost:80]
|
|
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0]
|
|
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
|
|
Accept-Language[de,en-US;q=0.7,en;q=0.3]
|
|
Accept-Encoding[gzip, deflate]
|
|
Referer[http://localhost:80/groups]
|
|
Connection[keep-alive]
|
|
POST-Daten:
|
|
POST_DATA[-----------------------------8397114799830
|
|
Content-Disposition: form-data; name="upload1"; filename="../[LOCAL FILE INCLUDE VULNERABILITY VIA ALBUMNAME!]pentesting.png"
|
|
Content-Type: image/png
|
|
-
|
|
Status: 200[OK]
|
|
GET http://localhost:80/
|
|
Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Größe des Inhalts[210] Mime Type[application/x-unknown-content-type]
|
|
Request Header:
|
|
Host[localhost:80]
|
|
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0]
|
|
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
|
|
Accept-Language[de,en-US;q=0.7,en;q=0.3]
|
|
Accept-Encoding[gzip, deflate]
|
|
Connection[keep-alive]
|
|
Response Header:
|
|
Accept-Ranges[bytes]
|
|
Content-Length[210]
|
|
Connection[keep-alive]
|
|
Date[Sat, 09 May 2015 15:21:30 GMT]
|
|
|
|
|
|
|
|
Reference(s):
|
|
http://localhost:80/groups
|
|
http://localhost:80/upload.html
|
|
|
|
|
|
Solution - Fix & Patch:
|
|
=======================
|
|
The vulnerability can be patched by a secure parse and encode of the vulnerable album-title value. Encode also the local app input field for sync.
|
|
Restrict the filename input and disallow special chars to prevent further arbitrary file upload attacks. Filter and encode also the vulnerable output
|
|
values in the mobile wifi interface (file dir) application.
|
|
|
|
|
|
Security Risk:
|
|
==============
|
|
The security risk of the local file include web vulnerability in the wifi network interface album-title value is estimated as high. (CVSS 6.5)
|
|
|
|
|
|
Credits & Authors:
|
|
==================
|
|
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.com) [www.vulnerability-lab.com]
|
|
|
|
|
|
Disclaimer & Information:
|
|
=========================
|
|
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.evolution-sec.com
|
|
Contact: admin@vulnerability-lab.com - research@vulnerability-lab.com - admin@evolution-sec.com
|
|
Section: magazine.vulnerability-db.com - vulnerability-lab.com/contact.php - evolution-sec.com/contact
|
|
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
|
|
Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register/
|
|
|
|
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 research@vulnerability-lab.com) to get a permission.
|
|
|
|
Copyright © 2015 | Vulnerability Laboratory - [Evolution Security GmbH]™
|
|
|
|
|
|
|
|
--
|
|
VULNERABILITY LABORATORY - RESEARCH TEAM
|
|
SERVICE: www.vulnerability-lab.com
|
|
CONTACT: research@vulnerability-lab.com
|
|
PGP KEY: http://www.vulnerability-lab.com/keys/admin@vulnerability-lab.com%280x198E9928%29.txt |